about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume1.gomez@gmail.com>2021-07-16 19:54:08 +0200
committerGitHub <noreply@github.com>2021-07-16 19:54:08 +0200
commit12ed22ffe44d7b06e94c2fe0003ef96a20cf4b98 (patch)
treeee4a20ca5494c12810e4851c3d2a4a7f0a161bc3 /src
parent4fbac2994f35d14a8b82e9f72cd562a7116ae32d (diff)
parent0ea2980ae5a87dd224c07d000d68852007b2e5c1 (diff)
downloadrust-12ed22ffe44d7b06e94c2fe0003ef96a20cf4b98.tar.gz
rust-12ed22ffe44d7b06e94c2fe0003ef96a20cf4b98.zip
Rollup merge of #87180 - notriddle:notriddle/sidebar-keyboard-mobile, r=GuillaumeGomez
feat(rustdoc): open sidebar menu when links inside it are focused

Fixes #87172

Based on #87167 (which should be merged first)

r? ``@GuillaumeGomez``

Preview it at https://notriddle.com/notriddle-rustdoc-test/std/index.html
Diffstat (limited to 'src')
-rw-r--r--src/librustdoc/html/static/css/rustdoc.css3
-rw-r--r--src/test/rustdoc-gui/sidebar-mobile.goml10
2 files changed, 12 insertions, 1 deletions
diff --git a/src/librustdoc/html/static/css/rustdoc.css b/src/librustdoc/html/static/css/rustdoc.css
index 89dbc4d825f..b86f012c0e1 100644
--- a/src/librustdoc/html/static/css/rustdoc.css
+++ b/src/librustdoc/html/static/css/rustdoc.css
@@ -1732,7 +1732,8 @@ details.undocumented[open] > summary::before {
 		width: calc(100% + 30px);
 	}
 
-	.show-it {
+	.show-it, .sidebar-elems:focus-within {
+		z-index:  2;
 		left: 0;
 	}
 
diff --git a/src/test/rustdoc-gui/sidebar-mobile.goml b/src/test/rustdoc-gui/sidebar-mobile.goml
index 9a1442e48a9..f0c9361d080 100644
--- a/src/test/rustdoc-gui/sidebar-mobile.goml
+++ b/src/test/rustdoc-gui/sidebar-mobile.goml
@@ -8,3 +8,13 @@ assert-css: (".sidebar-elems", {"display": "block", "left": "-246px"})
 // Opening the sidebar menu.
 click: ".sidebar-menu"
 assert-css: (".sidebar-elems", {"display": "block", "left": "0px"})
+// Closing the sidebar menu.
+click: ".sidebar-menu"
+assert-css: (".sidebar-elems", {"display": "block", "left": "-246px"})
+// Force the sidebar open by focusing a link inside it.
+// This makes it easier for keyboard users to get to it.
+focus: ".sidebar-title"
+assert-css: (".sidebar-elems", {"display": "block", "left": "0px"})
+// When we tab out of the sidebar, close it.
+focus: ".search-input"
+assert-css: (".sidebar-elems", {"display": "block", "left": "-246px"})