Browse Source

[enh] make checkboxes in preferences accessible using keyboard - #350

Adam Tauber 4 years ago
parent
commit
a984afd6a3

+ 30 - 2
searx/static/themes/oscar/css/logicodev-dark.css

@@ -70,7 +70,21 @@ input[type=checkbox]:not(:checked) + .label_hide_if_checked + .label_hide_if_not
   -ms-user-select: none;
 }
 .onoffswitch-checkbox {
-  display: none;
+  opacity: 0;
+  position: absolute;
+}
+.onoffswitch-checkbox:before {
+  content: "";
+  display: inline-block;
+  width: 16px;
+  height: 16px;
+  margin-right: 10px;
+  position: absolute;
+  left: 0;
+  bottom: 1px;
+  background-color: #fff;
+  border: 1px solid #ccc;
+  border-radius: 0px;
 }
 .onoffswitch-label {
   display: block;
@@ -104,7 +118,7 @@ input[type=checkbox]:not(:checked) + .label_hide_if_checked + .label_hide_if_not
   top: 0;
   bottom: 0;
   right: 0px;
-  border: 2px solid #FFFFFF !important;
+  border: 2px solid #FFFFFF;
   border-radius: 50px !important;
   transition: all 0.3s ease-in 0s;
 }
@@ -115,6 +129,9 @@ input[type=checkbox]:not(:checked) + .label_hide_if_checked + .label_hide_if_not
   right: 71px;
   background-color: #A1A1A1;
 }
+.onoffswitch-checkbox:focus + .onoffswitch-label .onoffswitch-switch {
+  border: 3px solid #444444;
+}
 .result_header {
   margin-top: 0px;
   margin-bottom: 2px;
@@ -377,6 +394,17 @@ Ny0yNFQxMToxNTowMCswMjowMP7RDgQAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb
 .search-margin {
   margin-bottom: 0.6em;
 }
+.visually-hidden {
+  position: absolute !important;
+  height: 1px;
+  width: 1px;
+  overflow: hidden;
+  clip: rect(1px 1px 1px 1px);
+  /* IE6, IE7 */
+  clip: rect(1px, 1px, 1px, 1px);
+  white-space: nowrap;
+  /* added line */
+}
 #advanced-search-container {
   display: none;
   text-align: left;

File diff suppressed because it is too large
+ 0 - 0
searx/static/themes/oscar/css/logicodev-dark.min.css


+ 30 - 2
searx/static/themes/oscar/css/logicodev.css

@@ -43,7 +43,21 @@ input[type=checkbox]:not(:checked) + .label_hide_if_checked + .label_hide_if_not
   -ms-user-select: none;
 }
 .onoffswitch-checkbox {
-  display: none;
+  opacity: 0;
+  position: absolute;
+}
+.onoffswitch-checkbox:before {
+  content: "";
+  display: inline-block;
+  width: 16px;
+  height: 16px;
+  margin-right: 10px;
+  position: absolute;
+  left: 0;
+  bottom: 1px;
+  background-color: #fff;
+  border: 1px solid #ccc;
+  border-radius: 0px;
 }
 .onoffswitch-label {
   display: block;
@@ -77,7 +91,7 @@ input[type=checkbox]:not(:checked) + .label_hide_if_checked + .label_hide_if_not
   top: 0;
   bottom: 0;
   right: 0px;
-  border: 2px solid #FFFFFF !important;
+  border: 2px solid #FFFFFF;
   border-radius: 50px !important;
   transition: all 0.3s ease-in 0s;
 }
@@ -88,6 +102,9 @@ input[type=checkbox]:not(:checked) + .label_hide_if_checked + .label_hide_if_not
   right: 71px;
   background-color: #A1A1A1;
 }
+.onoffswitch-checkbox:focus + .onoffswitch-label .onoffswitch-switch {
+  border: 3px solid #444444;
+}
 .result_header {
   margin-top: 0px;
   margin-bottom: 2px;
@@ -350,6 +367,17 @@ Ny0yNFQxMToxNTowMCswMjowMP7RDgQAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb
 .search-margin {
   margin-bottom: 0.6em;
 }
+.visually-hidden {
+  position: absolute !important;
+  height: 1px;
+  width: 1px;
+  overflow: hidden;
+  clip: rect(1px 1px 1px 1px);
+  /* IE6, IE7 */
+  clip: rect(1px, 1px, 1px, 1px);
+  white-space: nowrap;
+  /* added line */
+}
 #advanced-search-container {
   display: none;
   text-align: left;

File diff suppressed because it is too large
+ 0 - 0
searx/static/themes/oscar/css/logicodev.min.css


+ 19 - 2
searx/static/themes/oscar/less/logicodev/onoff.less

@@ -9,7 +9,21 @@
     -ms-user-select: none;
 }
 .onoffswitch-checkbox {
-    display: none;
+    opacity: 0;
+    position: absolute;
+}
+.onoffswitch-checkbox:before {
+    content: "";
+    display: inline-block;
+    width: 16px;
+    height: 16px;
+    margin-right: 10px;
+    position: absolute;
+    left: 0;
+    bottom: 1px;
+    background-color: #fff;
+    border: 1px solid #ccc;
+    border-radius: 0px;
 }
 .onoffswitch-label {
     display: block;
@@ -44,7 +58,7 @@
     top: 0;
     bottom: 0;
     right: 0px;
-    border: 2px solid #FFFFFF !important;
+    border: 2px solid #FFFFFF;
     border-radius: 50px !important;
     transition: all 0.3s ease-in 0s;
 }
@@ -55,3 +69,6 @@
     right: 71px;
     background-color: #A1A1A1;
 }
+.onoffswitch-checkbox:focus + .onoffswitch-label .onoffswitch-switch {
+    border: 3px solid #444444;
+}

+ 1 - 0
searx/templates/oscar/macros.html

@@ -91,6 +91,7 @@
             <span class="onoffswitch-inner"></span>
             <span class="onoffswitch-switch"></span>
         </label>
+        <label class="visually-hidden" for="{{ id }}">{{ _('Allow') }}</label>
     </div>
 {%- endmacro %}
 

Some files were not shown because too many files changed in this diff