Skip to content

Frontsite a11y improvements - #707

Open
JakobMiesner wants to merge 9 commits into
inveniosoftware:masterfrom
JakobMiesner:feature/a11y
Open

Frontsite a11y improvements#707
JakobMiesner wants to merge 9 commits into
inveniosoftware:masterfrom
JakobMiesner:feature/a11y

Conversation

@JakobMiesner

@JakobMiesner JakobMiesner commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

closes: CERNDocumentServer/cds-ils#863

Note: This PR was only tested with running it through cds-ils. The cookiecutter site was not tested.

This PR mainly focuses on making the frontsite more accessible. Some backoffice components/pages also got more accessible by proxy.
More specifically, a focus was put on the pages: /, /profile, /search and /literature/{pid}.
Changes include:

  • making Popups more accessible (unfortunately limited by Semantic UI, see below)
  • adding aria tags to buttons/inputs
  • improving contrast
  • fix heading hierarchies
  • adding alt tags for images

PopupIcon

PopupIcon uses aria-label instead of aria-labelledby/aria-describedby:

Semantic UI React imposes limits here:

  • Icon renders an <i>. so role="button" and tabIndex are bolted on manually.
  • Popup renders its content in a portal that only exists in the DOM while open (I think?), and exposes no API to associate the popup with its trigger (no id on the content element or aria-describedby wiring). Referencing visible sibling text via aria-labelledby would be cleaner but requires changes in Semantic UI.

As a fallback the popup text itself is used as the icon's aria-label, so screen reader users get the full content on focus.

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.

Accessibility

1 participant