Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes from accessibility audit. #344

Merged
merged 4 commits into from
Jan 6, 2025
Merged

Fixes from accessibility audit. #344

merged 4 commits into from
Jan 6, 2025

Conversation

bdon
Copy link
Member

@bdon bdon commented Jan 5, 2025

a11y issues

  1. The ‘Inspect button’ on the map, which serves as a toggle, doesn’t contain a clear value or indicator whether it is activated or not. This is needed for screen reader users to identify the current state of the toggle. This same issue occurs when opening or closing the ‘get style JSON’ button in the top navigation.

Added a label to maplibre-gl-inspect.

  1. The two combo boxes above the map don’t have an accessible name, which means screen reader users will only hear ‘combo box German’ but can’t perceive the meaning of the combo box.

Added label for= HTML elements.

  1. The radio buttons in the protomap builds page don’t have an accessible name. The screen reader will read ‘radio button checked 1 of 1’ but doesn’t say what this button is for.

Added aria-label indicating selected build dates.

  1. When a wrong url is submitted in the input field on the top of the map, which leads to the map not being displayed anymore, there is no identification in text that an error has occurred. Providing information about input errors in text allows users who are blind or color deficient (color blind) to perceive the fact that an error occurred.

Added popover to display map loading errors such as 404.

  1. The ‘user-scalable’ option is set to ‘no’, so users can’t resize the web page. This means that people who need to increase the size of interface elements to be able to interact with them, can’t fully use the website.

Removed this part of the HTML head tags.

  1. For any form field that serves an identified input purpose, provide the appropriate autocomplete attribute.

Added autocomplete attributes.

  1. When displaying the webpage at 320 pixels wide, a part of the text behind the radio buttons is no longer visible without having to scroll in two directions.

Hide some table columns on small breakpoints.

Other findings

  1. The buttons in the top right corner of the navigation bar are very close together; by increasing
    the space between them, the buttons will be easier to use.

New navbar among all pages at top.

  1. We are not sure whether this is a bug or that we just don’t understand this functionality, but
    when pressing on a radio button in the ‘builds’ page, other radio buttons appear next to other
    radio buttons and disappear when pressing (again) other radio buttons.

This is meant to mirror the Wikipedia "revisions" UI. Made the display of the radio buttons unconditional so they don't appear/disappear.

@bdon
Copy link
Member Author

bdon commented Jan 5, 2025

PR to maplibre-gl-inspect for button: maplibre/maplibre-gl-inspect#150

@bdon bdon force-pushed the accessibility branch 2 times, most recently from e24c0e2 to a77fc72 Compare January 6, 2025 07:10
bdon added 4 commits January 6, 2025 15:21
* remove user-scalable=no from html head
* add aria-label to builds page elements
* hide build table columns to prevent horizontal scrolling
* display error when map URL can't be loaded in viewer
* add accessible labels to theme and language select elements
* stateful text display on show JSON button
Copy link

sonarqubecloud bot commented Jan 6, 2025

@bdon bdon merged commit cee4351 into main Jan 6, 2025
5 checks passed
@bdon bdon deleted the accessibility branch January 6, 2025 07:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant