Skip to content

Commit

Permalink
Add accessibility note about dismissible alerts and focus (twbs#31358)
Browse files Browse the repository at this point in the history
  • Loading branch information
patrickhlauke authored and olsza committed Oct 3, 2020
1 parent 3871dc4 commit 8be0f0e
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions site/content/docs/5.0/components/alerts.md
Expand Up @@ -52,7 +52,6 @@ Alerts can also contain additional HTML elements like headings, paragraphs and d
</div>
{{< /example >}}


### Dismissing

Using the alert JavaScript plugin, it's possible to dismiss any alert inline. Here's how:
Expand All @@ -73,6 +72,10 @@ You can see this in action with a live demo:
</div>
{{< /example >}}

{{< callout warning >}}
When an alert is dismissed, the element is completely removed from the page structure. If a keyboard user dismisses the alert using the close button, their focus will suddenly be lost and, depending on the browser, reset to the start of the page/document. For this reason, we recommend including additional JavaScript that listens for the `closed.bs.alert` event and programmatically sets `focus()` to the most appropriate location in the page. If you're planning to move focus to a non-interactive element that normally does not receive focus, make sure to add `tabindex="-1"` to the element.
{{< /callout >}}

## JavaScript behavior

### Triggers
Expand Down Expand Up @@ -178,6 +181,8 @@ Bootstrap's alert plugin exposes a few events for hooking into alert functionali
{{< highlight js >}}
var myAlert = document.getElementById('myAlert')
myAlert.addEventListener('closed.bs.alert', function () {
// do something…
// do something … for instance, explicitly move focus to the most appropriate element,
// so it doesn't get lost/reset to the start of the page
// document.getElementById('…').focus()
})
{{< /highlight >}}

0 comments on commit 8be0f0e

Please sign in to comment.