fix: make elements accessible by keyboard navigation tools (#1339)

* fix: make api endpoint selectable

* fix: make response schema details selectable

* fix: update react-dropdown-aria to make dropdowns selectable
This commit is contained in:
Anna Stasiuk 2020-08-04 12:19:01 +03:00 committed by GitHub
parent 3ae069c436
commit 2ce71895bc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 20 additions and 11 deletions

12
package-lock.json generated
View File

@ -3204,9 +3204,9 @@
}
},
"parse-json": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz",
"integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==",
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.1.tgz",
"integrity": "sha512-ztoZ4/DYeXQq4E21v169sC8qWINGpcosGv9XhTDvg9/hWvx/zrFkc9BiWxR58OJLHGk28j5BL0SDLeV2WmFZlQ==",
"requires": {
"@babel/code-frame": "^7.0.0",
"error-ex": "^1.3.1",
@ -14908,9 +14908,9 @@
}
},
"react-dropdown-aria": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/react-dropdown-aria/-/react-dropdown-aria-2.0.6.tgz",
"integrity": "sha512-/9NlFopChlSKmuGL2P6S3oDwl9ddXcbNLnd1a7POov4f5/oGtSc3qBFmS4wH5xmLJe/38MhPOKF3e2q3laRi1g==",
"version": "2.0.7",
"resolved": "https://registry.npmjs.org/react-dropdown-aria/-/react-dropdown-aria-2.0.7.tgz",
"integrity": "sha512-wRjmmMUmA/q33ZugY0lTka4b6jY1ehp8qgHG2yeda64z5I0gTOtyxUVI/tA9ZBlBqysDN22hMGHNMnPb2sg+Qw==",
"requires": {
"emotion": "^9.2.6"
}

View File

@ -152,7 +152,7 @@
"polished": "^3.6.5",
"prismjs": "^1.20.0",
"prop-types": "^15.7.2",
"react-dropdown-aria": "^2.0.6",
"react-dropdown-aria": "^2.0.7",
"react-tabs": "^3.1.1",
"slugify": "^1.4.4",
"stickyfill": "^1.1.1",

View File

@ -1,9 +1,8 @@
import styled from '../styled-components';
import { darken } from 'polished';
export const OneOfList = styled.ul`
export const OneOfList = styled.div`
margin: 0 0 3px 0;
padding: 0;
list-style: none;
display: inline-block;
`;
@ -15,7 +14,7 @@ export const OneOfLabel = styled.span`
}
`;
export const OneOfButton = styled.li<{ active: boolean }>`
export const OneOfButton = styled.button<{ active: boolean }>`
display: inline-block;
margin-right: 10px;
margin-bottom: 5px;
@ -23,12 +22,21 @@ export const OneOfButton = styled.li<{ active: boolean }>`
cursor: pointer;
border: 1px solid ${props => props.theme.colors.primary.main};
padding: 2px 10px;
line-height: 1.5em;
outline: none;
&:focus {
box-shadow: 0 0 0 1px ${props => props.theme.colors.primary.main};
}
${props => {
if (props.active) {
return `
color: white;
background-color: ${props.theme.colors.primary.main};
&:focus {
box-shadow: none;
background-color: ${darken(0.15, props.theme.colors.primary.main)};
}
`;
} else {
return `

View File

@ -16,6 +16,7 @@ export class SelectOnClick extends React.PureComponent {
onClick={this.selectElement}
onFocus={this.selectElement}
tabIndex={0}
role="button"
>
{children}
</div>