Skip to content

Commit

Permalink
fix: make response sections focusable
Browse files Browse the repository at this point in the history
  • Loading branch information
stasiukanya authored and RomanHotsiy committed Jul 13, 2020
1 parent 47c6319 commit 442014c
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 3 deletions.
1 change: 1 addition & 0 deletions src/common-elements/shelfs.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ class IntShelfIcon extends React.PureComponent<{
x="0"
xmlns="http://www.w3.org/2000/svg"
y="0"
aria-hidden="true"
>
<polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 " />
</svg>
Expand Down
9 changes: 7 additions & 2 deletions src/components/Responses/ResponseTitle.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,12 @@ export class ResponseTitle extends React.PureComponent<ResponseTitleProps> {
render() {
const { title, type, empty, code, opened, className, onClick } = this.props;
return (
<div className={className} onClick={(!empty && onClick) || undefined}>
<button
className={className}
onClick={(!empty && onClick) || undefined}
aria-expanded={opened}
disabled={empty}
>
{!empty && (
<ShelfIcon
size={'1.5em'}
Expand All @@ -28,7 +33,7 @@ export class ResponseTitle extends React.PureComponent<ResponseTitleProps> {
)}
<strong>{code} </strong>
<Markdown compact={true} inline={true} source={title} />
</div>
</button>
);
}
}
12 changes: 11 additions & 1 deletion src/components/Responses/styled.elements.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ import styled from '../../styled-components';
import { ResponseTitle } from './ResponseTitle';

export const StyledResponseTitle = styled(ResponseTitle)`
display: block;
border: 0;
width: 100%;
text-align: left;
padding: 10px;
border-radius: 2px;
margin-bottom: 4px;
Expand All @@ -14,7 +18,10 @@ export const StyledResponseTitle = styled(ResponseTitle)`
color: ${props => props.theme.colors.responses[props.type].color};
background-color: ${props => props.theme.colors.responses[props.type].backgroundColor};
&:focus {
outline: auto;
outline-color: ${props => props.theme.colors.responses[props.type].color};
}
${props =>
(props.empty &&
`
Expand All @@ -26,6 +33,9 @@ cursor: default;
text-align: center;
display: inline-block;
}
&:focus {
outline: 0;
}
`) ||
''};
`;
Expand Down

0 comments on commit 442014c

Please sign in to comment.