From eae52b1cb0af18c5bf3fddd660f53d58d689cd63 Mon Sep 17 00:00:00 2001 From: "Patrick H. Lauke" Date: Fri, 11 Dec 2020 23:28:45 +0200 Subject: Expand `visually-hidden-focusable` so it can be used on a container, so the container becomes visible when focus is inside it / on one of its child elements. --- scss/helpers/_visually-hidden.scss | 2 +- scss/mixins/_visually-hidden.scss | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'scss') diff --git a/scss/helpers/_visually-hidden.scss b/scss/helpers/_visually-hidden.scss index 0a843d383..4760ff03d 100644 --- a/scss/helpers/_visually-hidden.scss +++ b/scss/helpers/_visually-hidden.scss @@ -3,6 +3,6 @@ // .visually-hidden, -.visually-hidden-focusable:not(:focus) { +.visually-hidden-focusable:not(:focus):not(:focus-within) { @include visually-hidden(); } diff --git a/scss/mixins/_visually-hidden.scss b/scss/mixins/_visually-hidden.scss index d980696c8..ed7bc9c13 100644 --- a/scss/mixins/_visually-hidden.scss +++ b/scss/mixins/_visually-hidden.scss @@ -17,12 +17,13 @@ border: 0 !important; } -// Use to only display content when it's focused. +// Use to only display content when it's focused, or one of its child elements is focused +// (i.e. when focus is within the element/container that the class was applied to) // // Useful for "Skip to main content" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 @mixin visually-hidden-focusable() { - &:not(:focus) { + &:not(:focus):not(:focus-within) { @include visually-hidden(); } } -- cgit v1.2.3