Move aria-hidden management from the BaseDialog component to the Modal
This commit is contained in:
parent
9f5857a7cc
commit
20c485d85e
2 changed files with 14 additions and 18 deletions
14
src/Modal.js
14
src/Modal.js
|
@ -186,11 +186,25 @@ class ModalManager {
|
|||
}
|
||||
|
||||
_reRender() {
|
||||
// Retrieve the root node of the Riot application outside the modal
|
||||
let applicationNode = document.getElementById('matrixchat');
|
||||
if (this._modals.length == 0) {
|
||||
if (applicationNode) {
|
||||
// If there is no modal to render, make all of Riot available
|
||||
// to screen reader users again
|
||||
applicationNode.setAttribute('aria-hidden', 'false');
|
||||
}
|
||||
ReactDOM.unmountComponentAtNode(this.getOrCreateContainer());
|
||||
return;
|
||||
}
|
||||
|
||||
if (applicationNode) {
|
||||
// Hide the content outside the modal to screen reader users
|
||||
// so they won't be able to navigate into it and act on it using
|
||||
// screen reader specific features
|
||||
applicationNode.setAttribute('aria-hidden', 'true');
|
||||
}
|
||||
|
||||
const modal = this._modals[0];
|
||||
const dialog = (
|
||||
<div className={"mx_Dialog_wrapper " + (modal.className ? modal.className : '')}>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue