diff --git a/src/librustdoc/html/static/css/rustdoc.css b/src/librustdoc/html/static/css/rustdoc.css index 89dbc4d825f3d..b86f012c0e168 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 9a1442e48a9ea..f0c9361d0806b 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"})