Accessibility statement
What has been fixed, what is measured, and what is still wrong. Radiology teaching material is no use to a resident who cannot read it.
Conformance status
Partially conformant with WCAG 2.2 level AA. Partially conformant means most of the standard is met but some parts are not. The gaps are listed below rather than left for you to discover.
GAMA-RADS has 26 page routes. Ten can be reached without signing in; measurement covered those ten plus the not-found page, so eleven URLs in all, and that is what this statement reports on. The other sixteen are the repository itself — the approval gate, case listings, the contributor editor, the image viewer, the pipeline and admin screens — and they have not been assessed at all. They were added to this build on 14 August 2026 and no measurement has been run against them. Do not read the results below as covering the part of the platform you would actually work in.
What has been measured
The figures below were taken on 15 August 2026 against this build, by measuring the rendered document rather than reading the source. Contrast was computed against the background actually painted behind each element — sampled from a screenshot with the text hidden — because reading the CSS gives the wrong answer wherever a gradient is involved, and this site has one behind its largest heading.
Contrast
551 text nodes across the eleven public pages, with no exceptions. Every one meets the 4.5:1 minimum for body text or 3:1 for large text. The last shortfall was closed on 15 August 2026: the gold badges — “Expert-annotated”, “Teaching set” and the like — sat at 4.35:1 against their tinted background. Rather than bend an existing brand colour, the ramp gained a darker step, which the badge now uses at 6.3:1.
Layout
Zero horizontal overflow at 390px, 768px and 1280px, on all eleven pages. This was not always true: until 13 August 2026 the navigation bar never collapsed on a phone and the homepage overflowed a 390px viewport by 210px. The cause was a hydration mismatch — the bar decided its layout during the first client render, React declined to patch the resulting attribute difference, and the state that would have corrected it never changed. It is fixed and measured.
Keyboard and focus
- A skip link is the first tab stop on every public page, including the sign-in and registration screens, which did not have one until 13 August 2026, and the teaching-link page, which did not have one until 15 August 2026. The expired-link screen is the one exception, and deliberately so: it has no repeated block to bypass.
- Focus is visible on every interactive element, via
:focus-visibleand the design system’s focus ring. - The role pills on the registration form are real radio inputs, so they are reachable and operable with the arrow keys; the visible ring follows the hidden input.
- Sign-in and registration are pages, not dialogs. No page on this site opens a modal, so there is no focus trap to get wrong. The design system carries a Dialog primitive that manages its own focus, but nothing currently uses it.
Targets
Every link and control measures at least 24×24px — the WCAG 2.5.8 AA minimum — at 390px, 768px and 1280px. Primary navigation and header actions are at least 44px tall. Three sets fell short and were corrected on 13 August 2026: the footer navigation links at 21px, the breadcrumb at 15px, and the links out of the sign-in and registration cards at 18px. Thirty-one links sit inside a sentence and are left at their natural height, which the standard permits.
Forms
The contact form marks each failed field with aria-invalid, points it at its own message with aria-describedby, and — as of 15 August 2026 — opens a summary of everything that failed, moves focus to it so it is announced, and leaves the next tab stop inside the form. Before that a screen reader user who pressed Send was told nothing at all: the button stayed, the page did not move, and the messages were scattered down a form they had no reason to re-read.
Structure and semantics
langis declared, and every page has exactly oneh1and amainlandmark — verified on all eleven.- Pipeline steps are an ordered list; the case listing is a list; the hero showcase is a labelled image group rather than three unlabelled images.
- Icons that sit beside their own text label are hidden from assistive technology instead of being read twice.
- Icons are drawn, not typed. The filter chip’s remove control was a
×character until 13 August 2026 and is now an icon with an accessible name that says what it removes.
Motion
prefers-reduced-motion is honoured, but not by freezing everything. Reveals and counters resolve instantly. The hero showcase keeps advancing and keeps its cross-fade, because that preference is about movement and a fade has none; what it drops is the scale on the incoming slide. Auto-advancing content owes the visitor a stop regardless, so the pause control is available in every motion mode. If the reveal observer never fires, a failsafe shows the content anyway — a counter stuck at its start value would otherwise have rendered the words “0 annotated cases”.
Known limitations
- The signed-in repository is unassessed
- The sixteen pages behind sign-in — case search, the case page, the contributor editor, the DICOM viewer, the pipeline and its run screens, the admin queues — have had no contrast measurement, no target-size measurement, no keyboard pass and no structural check. They are built on the same design system and the same components as the pages that were measured, which is a reason to expect them to be better than nothing, not a reason to claim a result. This is the largest gap on this page.
- Button sizes
- The design system's small and medium buttons are 32px and 40px tall. Both clear the 24×24 minimum in WCAG 2.5.8 but fall under the 44px target guideline. Raising the base height would shift spacing across every screen, so it is being treated as a design decision rather than a defect.
- Mobile navigation
- Below 800px the navigation bar stacks into three centred rows, about 170px tall. It is no longer sticky there, so it scrolls away rather than occupying a fifth of the viewport, but the correct answer is a disclosure menu that has not been designed yet.
- The DICOM viewer is third-party
- The image viewer is OHIF, an external open-source application served from this origin. Its accessibility is not ours to state and has not been assessed here. A viewer is also, by its nature, a visual instrument; we do not currently offer a non-visual route to the same information.
How this was assessed — and what was not
Assessment was done by measuring the rendered document across the eleven public pages: contrast ratios against the background actually painted behind each element, horizontal overflow at 390, 768 and 1280px, computed target sizes at each of those widths, document structure, and the motion behaviour under both motion preferences. Browser console errors were captured at the same time and there were none.
No screen reader was used. NVDA, JAWS and VoiceOver were not run, no testing was done with actual users of assistive technology, and no third-party audit has taken place. Semantics were verified structurally — roles, labels and landmarks are present and correct in the DOM — but that is not the same as confirming the experience is good. Treat the claims above as measured, and the screen-reader experience as unverified.
Feedback
If you hit a barrier on this platform, tell us what you were trying to do, what got in the way, and what you were using — browser, operating system, and any assistive technology. That last part is what makes a report actionable.
Write to us through the contact page, choosing the technical topic. We aim to respond within five working days. If a fix will take longer, we will say what the workaround is in the meantime.
Standard applied
Web Content Accessibility Guidelines (WCAG) 2.2, level AA. Where this statement refers to a specific criterion — 1.4.3 contrast, 2.1.2 no keyboard trap, 2.4.1 bypass blocks, 2.4.3 focus order, 2.5.8 target size, 2.3.3 animation from interactions — it means that criterion specifically.
