graphql / graphql/graphiql

[graphiql] Settings dialog button group does not comply with accessibility behaviors

Open
#2,891 1 comment 0 reactions 0 assignees View on GitHub
bug graphiql
Dominant language
TypeScript
Stars
16.9k
Forks
1.9k
Avg merge
22h 45m
Merged PRs (30d)
70

Description

### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

The ButtonGroup in the Settings dialog, specifically when changing the current theme:
image

Behaves more like a RadioGroup control, and it doesn't have the appropriate keyboard event handling or aria attributes to indicate this: https://www.w3.org/WAI/ARIA/apg/patterns/radiobutton/

### Expected Behavior

These buttons should comply with the standard for accessible radio groups.

### Steps To Reproduce

```Markdown
1. Open the GraphiQL demo http://graphql.org/swapi-graphql
2. Open the settings dialog
3. Navigate it using `tab` and once you land on the "System" button, try navigating using the arrow keys
4. Also inspect the elements and you'll notice they don't have the appropriate attributes
```

### Module pattern

- [ ] graphiql-umd
- [ ] graphiql-esm
- [ ] graphiql-commonjs

### Environment

```Markdown
- GraphiQL Version: latest
- OS: Mac OS 12.5
- Browser: Chrome 107
- Bundler:
- `react` Version: 17
- `graphql` Version: 16
```

### Anything else?

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.