mirror of
https://github.com/twbs/bootstrap.git
synced 2022-11-09 12:25:43 -05:00
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.
This commit is contained in:
parent
9b6c815148
commit
eae52b1cb0
4 changed files with 12 additions and 5 deletions
|
@ -3,6 +3,6 @@
|
||||||
//
|
//
|
||||||
|
|
||||||
.visually-hidden,
|
.visually-hidden,
|
||||||
.visually-hidden-focusable:not(:focus) {
|
.visually-hidden-focusable:not(:focus):not(:focus-within) {
|
||||||
@include visually-hidden();
|
@include visually-hidden();
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,12 +17,13 @@
|
||||||
border: 0 !important;
|
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
|
// Useful for "Skip to main content" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
|
||||||
|
|
||||||
@mixin visually-hidden-focusable() {
|
@mixin visually-hidden-focusable() {
|
||||||
&:not(:focus) {
|
&:not(:focus):not(:focus-within) {
|
||||||
@include visually-hidden();
|
@include visually-hidden();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,13 +6,16 @@ group: helpers
|
||||||
aliases: "/docs/5.0/helpers/screen-readers/"
|
aliases: "/docs/5.0/helpers/screen-readers/"
|
||||||
---
|
---
|
||||||
|
|
||||||
Visually hide an element while still allowing it to be exposed to assistive technologies (such as screen readers) with `.visually-hidden`. Use `.visually-hidden-focusable` to visually hide an element by default, but to display it when it's focused (e.g. by a keyboard-only user). Can also be used as mixins.
|
Visually hide an element while still allowing it to be exposed to assistive technologies (such as screen readers) with `.visually-hidden`. Use `.visually-hidden-focusable` to visually hide an element by default, but to display it when it's focused (e.g. by a keyboard-only user). `.visually-hidden-focusable` can also be applied to a container–thanks to `:focus-within`, the container will be displayed when any child element of the container receives focus.
|
||||||
|
|
||||||
{{< example >}}
|
{{< example >}}
|
||||||
<h2 class="visually-hidden">Title for screen readers</h2>
|
<h2 class="visually-hidden">Title for screen readers</h2>
|
||||||
<a class="visually-hidden-focusable" href="#content">Skip to main content</a>
|
<a class="visually-hidden-focusable" href="#content">Skip to main content</a>
|
||||||
|
<div class="visually-hidden-focusable">A container with a <a href="#">focusable element</a>.</div>
|
||||||
{{< /example >}}
|
{{< /example >}}
|
||||||
|
|
||||||
|
Both `visually-hidden` and `visually-hidden-focusable` can also be used as mixins.
|
||||||
|
|
||||||
```scss
|
```scss
|
||||||
// Usage as a mixin
|
// Usage as a mixin
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,10 @@ toc: true
|
||||||
|
|
||||||
## v5.0.0-beta2
|
## v5.0.0-beta2
|
||||||
|
|
||||||
|
### Sass
|
||||||
|
|
||||||
|
- Extended the `.visually-hidden-focusable` helper to also work on containers, using `:focus-within`.
|
||||||
|
|
||||||
### JavaScript
|
### JavaScript
|
||||||
|
|
||||||
- The default value for the `fallbackPlacements` is changed to `['top', 'right', 'bottom', 'left']` for better placement of popper elements.
|
- The default value for the `fallbackPlacements` is changed to `['top', 'right', 'bottom', 'left']` for better placement of popper elements.
|
||||||
|
@ -58,7 +62,6 @@ Breakpoints specific variants are consequently renamed too (eg. `.text-md-start`
|
||||||
- Renamed `$form-check-inline-margin-right` to `$form-check-inline-margin-end`.
|
- Renamed `$form-check-inline-margin-right` to `$form-check-inline-margin-end`.
|
||||||
- Renamed `$form-select-feedback-icon-padding-right` to `$form-select-feedback-icon-padding-end`.
|
- Renamed `$form-select-feedback-icon-padding-right` to `$form-select-feedback-icon-padding-end`.
|
||||||
|
|
||||||
|
|
||||||
### JavaScript
|
### JavaScript
|
||||||
|
|
||||||
- Data attributes for all JavaScript plugins are now namespaced to help distinguish Bootstrap functionality from third parties and your own code. For example, we use `data-bs-toggle` instead of `data-toggle`.
|
- Data attributes for all JavaScript plugins are now namespaced to help distinguish Bootstrap functionality from third parties and your own code. For example, we use `data-bs-toggle` instead of `data-toggle`.
|
||||||
|
|
Loading…
Add table
Reference in a new issue