Skip to content

Commit 237f209

Browse files
committed
access modal using tab
1 parent b3c3873 commit 237f209

File tree

3 files changed

+13
-4
lines changed

3 files changed

+13
-4
lines changed

src/shared/components/Terms/TermDetails.jsx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ export default class TermDetails extends React.Component {
1616
loadingFrame: false,
1717
};
1818
this.frameLoaded = this.frameLoaded.bind(this);
19-
this.iframe = React.createRef();
2019
}
2120

2221
componentWillMount() {
@@ -31,7 +30,6 @@ export default class TermDetails extends React.Component {
3130
this.setState({
3231
loadingFrame: false,
3332
});
34-
this.iframe.current.focus();
3533
}
3634

3735
render() {
@@ -70,7 +68,6 @@ export default class TermDetails extends React.Component {
7068
}
7169
<iframe
7270
onLoad={this.frameLoaded}
73-
ref={this.iframe}
7471
src={docuSignUrl}
7572
styleName={loadingFrame ? 'hidden' : 'frame'}
7673
title={details.title}

src/shared/components/Terms/index.jsx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/* eslint-disable jsx-a11y/no-noninteractive-tabindex */
12
/**
23
* Terms component which displays modal window with term details
34
*/
@@ -54,6 +55,7 @@ export default class Terms extends React.Component {
5455
this.resizeHandler = this.resizeHandler.bind(this);
5556
this.nextTerm = this.nextTerm.bind(this);
5657
this.max = 0;
58+
this.terms = React.createRef();
5759
}
5860

5961
componentDidMount() {
@@ -63,6 +65,7 @@ export default class Terms extends React.Component {
6365
}
6466
window.addEventListener('message', this.messageHandler, false);
6567
window.addEventListener('resize', this.resizeHandler, false);
68+
this.terms.current.focus();
6669
}
6770

6871
componentWillReceiveProps(nextProps) {
@@ -83,6 +86,10 @@ export default class Terms extends React.Component {
8386
}
8487
}
8588

89+
componentDidUpdate() {
90+
this.terms.current.focus();
91+
}
92+
8693
componentWillUnmount() {
8794
window.removeEventListener('message', this.messageHandler);
8895
window.removeEventListener('resize', this.resizeHandler);
@@ -162,7 +169,7 @@ export default class Terms extends React.Component {
162169
}
163170
{
164171
!isLoadingTerms && (
165-
<div styleName="modal-content">
172+
<div styleName="modal-content" ref={this.terms} tabIndex="0">
166173
<div styleName="title">
167174
{terms.length > 1 ? defaultTitle : terms[0].title}
168175
</div>
@@ -216,6 +223,8 @@ export default class Terms extends React.Component {
216223
</div>
217224
<div
218225
styleName="tab-title"
226+
tabIndex="0"
227+
role="tab"
219228
onClick={() => this.selectTerm(t)}
220229
onKeyPress={() => this.selectTerm(t)}
221230
>

src/shared/components/Terms/styles.scss

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@
3131
flex: 1;
3232
flex-direction: column;
3333
max-height: 100%;
34+
&:focus {
35+
outline: none;
36+
}
3437
}
3538

3639
.scrollable-area {

0 commit comments

Comments
 (0)