diff --git a/theme/boost/scss/moodle/core.scss b/theme/boost/scss/moodle/core.scss index 7d5bb9a511c..3fa47152edb 100644 --- a/theme/boost/scss/moodle/core.scss +++ b/theme/boost/scss/moodle/core.scss @@ -149,7 +149,8 @@ a.dropdown-toggle, .modal-dialog[tabindex="0"], .moodle-dialogue-base .closebutton, button.close, -.form-autocomplete-selection { +.form-autocomplete-selection, +[role="treeitem"]:not([aria-expanded="true"]) { &.focus, &:focus { outline: 0; @@ -160,6 +161,21 @@ button.close, } } +// We don't want to highlight the whole li when it's expanded. Only the first child is highlighted. +[role="treeitem"][aria-expanded="true"] { + outline: 0; + &.focus, + &:focus { + > *:first-child { + outline: 0; + box-shadow: $input-btn-focus-box-shadow; + } + } + &:focus:hover { + text-decoration: none; + } +} + // Accessible focus styling for autocomplete elements. .form-autocomplete-suggestions li[aria-selected=true] { outline: 0; diff --git a/theme/boost/style/moodle.css b/theme/boost/style/moodle.css index 16ef241d01b..27fde67935d 100644 --- a/theme/boost/style/moodle.css +++ b/theme/boost/style/moodle.css @@ -10001,7 +10001,9 @@ a.dropdown-toggle:focus, button.close.focus, button.close:focus, .form-autocomplete-selection.focus, -.form-autocomplete-selection:focus { +.form-autocomplete-selection:focus, +[role="treeitem"]:not([aria-expanded="true"]).focus, +[role="treeitem"]:not([aria-expanded="true"]):focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(15, 111, 197, 0.75); } @@ -10021,9 +10023,18 @@ a.dropdown-toggle:focus:hover, .modal-dialog[tabindex="0"]:focus:hover, .moodle-dialogue-base .closebutton:focus:hover, button.close:focus:hover, -.form-autocomplete-selection:focus:hover { +.form-autocomplete-selection:focus:hover, +[role="treeitem"]:not([aria-expanded="true"]):focus:hover { text-decoration: none; } +[role="treeitem"][aria-expanded="true"] { + outline: 0; } + [role="treeitem"][aria-expanded="true"].focus > *:first-child, [role="treeitem"][aria-expanded="true"]:focus > *:first-child { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(15, 111, 197, 0.75); } + [role="treeitem"][aria-expanded="true"]:focus:hover { + text-decoration: none; } + .form-autocomplete-suggestions li[aria-selected=true] { outline: 0; box-shadow: 0 0 0 0.2rem rgba(15, 111, 197, 0.75); } diff --git a/theme/classic/style/moodle.css b/theme/classic/style/moodle.css index c2b816be0d6..b6d96ab2493 100644 --- a/theme/classic/style/moodle.css +++ b/theme/classic/style/moodle.css @@ -10001,7 +10001,9 @@ a.dropdown-toggle:focus, button.close.focus, button.close:focus, .form-autocomplete-selection.focus, -.form-autocomplete-selection:focus { +.form-autocomplete-selection:focus, +[role="treeitem"]:not([aria-expanded="true"]).focus, +[role="treeitem"]:not([aria-expanded="true"]):focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(15, 111, 197, 0.75); } @@ -10021,9 +10023,18 @@ a.dropdown-toggle:focus:hover, .modal-dialog[tabindex="0"]:focus:hover, .moodle-dialogue-base .closebutton:focus:hover, button.close:focus:hover, -.form-autocomplete-selection:focus:hover { +.form-autocomplete-selection:focus:hover, +[role="treeitem"]:not([aria-expanded="true"]):focus:hover { text-decoration: none; } +[role="treeitem"][aria-expanded="true"] { + outline: 0; } + [role="treeitem"][aria-expanded="true"].focus > *:first-child, [role="treeitem"][aria-expanded="true"]:focus > *:first-child { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(15, 111, 197, 0.75); } + [role="treeitem"][aria-expanded="true"]:focus:hover { + text-decoration: none; } + .form-autocomplete-suggestions li[aria-selected=true] { outline: 0; box-shadow: 0 0 0 0.2rem rgba(15, 111, 197, 0.75); }