Add some comments explaining how we are using aria-hidden property to

hide content outside of the BaseDialog to screen reader users.
This commit is contained in:
Peter Vágner 2017-12-07 09:44:00 +01:00
parent f9b0243c8e
commit 4171675221

View file

@ -50,14 +50,19 @@ export default React.createClass({
}, },
componentDidMount: function() { componentDidMount: function() {
// Retrieve the root node of the Riot application outside the dialog
this.applicationNode = document.getElementById('matrixchat'); this.applicationNode = document.getElementById('matrixchat');
if (this.applicationNode) { if (this.applicationNode) {
// Hide the content outside the dialog to screen reader users
// so they won't be able to navigate into it and act on it using
// screen reader specific features
this.applicationNode.setAttribute('aria-hidden', 'true'); this.applicationNode.setAttribute('aria-hidden', 'true');
} }
}, },
componentWillUnmount: function() { componentWillUnmount: function() {
if (this.applicationNode) { if (this.applicationNode) {
// When dismissing the dialog, make all of Riot available to screen reader users again
this.applicationNode.setAttribute('aria-hidden', 'false'); this.applicationNode.setAttribute('aria-hidden', 'false');
} }
}, },