Skip to content

Commit

Permalink
a11y: Make field and format buttons keyboard-accessible
Browse files Browse the repository at this point in the history
Also add aria-pressed attribute to signal that these are toggle buttons.
  • Loading branch information
tnajdek committed May 31, 2024
1 parent 0c4d11a commit b5c18cd
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 26 deletions.
42 changes: 22 additions & 20 deletions frontend/scss/style.scss
Original file line number Diff line number Diff line change
Expand Up @@ -51,34 +51,36 @@ h2 {
width: 90%;

li {
background-color: var(--material-button);
box-shadow:
0px 1px 0.75px 0px var(--fill-quinary),
0px 0.25px 0.25px 0px var(--color-border);
;
border: 0.5px solid var(--fill-senary);
color: var(--color-primary);
cursor: default;
display: inline-block;
margin: 4px 7px 4px 0;
padding: 3px 6px;
transition: border 0.15s ease, background-color 0.15s ease;

&:hover {
background-color: var(--accent-azure);
color: var(--accent-white);
}

&.field-active,
&.format-active {
background: var(--accent-blue);
border-color: var(--accent-blue);
color: var(--accent-white);
> button {
background-color: var(--material-button);
box-shadow:
0px 1px 0.75px 0px var(--fill-quinary),
0px 0.25px 0.25px 0px var(--color-border);
border: 0.5px solid var(--fill-senary);
color: var(--color-primary);
cursor: default;
padding: 3px 6px;
font-size: 1em;

&:hover {
background-color: var(--accent-azure);
color: var(--accent-white);
}

&.field-active,
&.format-active {
background: var(--accent-blue);
border-color: var(--accent-blue);
color: var(--accent-white);

&:hover {
background-color: var(--accent-azure);
border-color: var(--accent-blue);
color: var(--accent-white);
}
}
}
}
Expand Down
20 changes: 14 additions & 6 deletions frontend/src/component.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -408,12 +408,16 @@ const App = () => {
<ul className="formats-list">
{state.filtered.formats.map(format => (
<li
data-value={format}
onClick={handleFormatClick}
key={format}
className={state.query.format === format ? 'format-active' : 'a'}
>
{format}
<button
aria-pressed={state.query.format === format}
data-value={format}
className={state.query.format === format ? 'format-active' : ''}
>
{format}
</button>
</li>
))}
</ul>
Expand All @@ -425,12 +429,16 @@ const App = () => {
<ul className="fields-list">
{state.filtered.fields.map(field => (
<li
data-value={field}
onClick={handleFieldClick}
key={field}
className={state.query.fields.includes(field) ? 'field-active' : 'a'}
>
{field}
<button
aria-pressed={state.query.fields.includes(field)}
className={state.query.fields.includes(field) ? 'field-active' : ''}
data-value={field}
>
{field}
</button>
</li>
))}
</ul>
Expand Down

0 comments on commit b5c18cd

Please sign in to comment.