diff --git a/src/lib/app/mainapplication.cpp b/src/lib/app/mainapplication.cpp
index b709a8b75..5baf2d8a0 100644
--- a/src/lib/app/mainapplication.cpp
+++ b/src/lib/app/mainapplication.cpp
@@ -405,6 +405,7 @@ void MainApplication::loadSettings()
m_websettings->setAttribute(QWebSettings::XSSAuditingEnabled, settings.value("XSSAuditing", false).toBool());
m_websettings->setMaximumPagesInCache(settings.value("maximumCachedPages", 3).toInt());
m_websettings->setDefaultTextEncoding(settings.value("DefaultEncoding", m_websettings->defaultTextEncoding()).toString());
+ m_websettings->setAttribute(QWebSettings::SpatialNavigationEnabled, settings.value("SpatialNavigation", false).toBool());
#if QTWEBKIT_FROM_2_3
m_websettings->setAttribute(QWebSettings::CaretBrowsingEnabled, settings.value("CaretBrowsing", false).toBool());
diff --git a/src/lib/preferences/preferences.cpp b/src/lib/preferences/preferences.cpp
index dffb402ea..697790864 100644
--- a/src/lib/preferences/preferences.cpp
+++ b/src/lib/preferences/preferences.cpp
@@ -249,6 +249,7 @@ Preferences::Preferences(QupZilla* mainClass, QWidget* parent)
ui->allowDNSPrefetch->setChecked(settings.value("DNS-Prefetch", false).toBool());
ui->linksInFocusChain->setChecked(settings.value("IncludeLinkInFocusChain", false).toBool());
ui->zoomTextOnly->setChecked(settings.value("zoomTextOnly", false).toBool());
+ ui->spatialNavigation->setChecked(settings.value("SpatialNavigation", false).toBool());
ui->caretBrowsing->setChecked(settings.value("CaretBrowsing", false).toBool());
ui->animateScrolling->setChecked(settings.value("AnimateScrolling", true).toBool());
ui->printEBackground->setChecked(settings.value("PrintElementBackground", true).toBool());
@@ -925,6 +926,7 @@ void Preferences::saveSettings()
settings.setValue("DNS-Prefetch", ui->allowDNSPrefetch->isChecked());
settings.setValue("IncludeLinkInFocusChain", ui->linksInFocusChain->isChecked());
settings.setValue("zoomTextOnly", ui->zoomTextOnly->isChecked());
+ settings.setValue("SpatialNavigation", ui->spatialNavigation->isChecked());
settings.setValue("CaretBrowsing", ui->caretBrowsing->isChecked());
settings.setValue("AnimateScrolling", ui->animateScrolling->isChecked());
settings.setValue("PrintElementBackground", ui->printEBackground->isChecked());
diff --git a/src/lib/preferences/preferences.ui b/src/lib/preferences/preferences.ui
index 674be78d5..374a95d32 100644
--- a/src/lib/preferences/preferences.ui
+++ b/src/lib/preferences/preferences.ui
@@ -140,8 +140,8 @@
0
0
- 596
- 456
+ 602
+ 469
@@ -1086,6 +1086,13 @@
+ -
+
+
+ Enable spatial navigation
+
+
+
-