Accessibility
This page says what was tested, what passed, and what did not. It is a self-assessment by the person who built the tool, not a certified audit, and every number below was measured in a browser rather than assumed. If something here stops you from using the tool, write to the address at the bottom.
The short answer
- The whole estimation flow works without a mouse. Join a room, pick a card, change your mind: Tab and then Enter or Space, or simply type the value of the card you want.
- Every interactive element shows a focus ring. All 21 of the 21 controls the Tab key stops on in a live room draw a visible 2 pixel outline, the estimate cards included.
- Text meets the WCAG AA contrast level. The lowest ratio measured anywhere in the app is 4.56:1 and on these public pages 4.53:1, against a threshold of 4.5:1.
- Your own vote is announced. The line under the cards is a polite live region, so a screen reader reads out the card you just chose.
- Motion follows your system setting. With "reduce motion" switched on, the reveal animation is switched off, not merely shortened.
- Four gaps are known and listed below. No certified audit, the break card is not read out by name, the projector view is not built for screen readers, and very narrow windows scroll sideways.
What was measured, and what came back
Nothing on this page is a general assurance. Each line is a check that was run against the running product, with the result it returned.
| Check | Result | Verdict |
|---|---|---|
| Cast a vote by keyboard | All 13 cards of the Fibonacci deck are reachable with Tab and cast with Enter or Space. | Pass |
| Join a room by keyboard | Tab to the name field, type a name, press Enter. No pointer needed at any step. | Pass |
| Visible focus | 21 of 21 controls in the Tab cycle of a live room draw a 2 pixel outline when focused from the keyboard. | Pass |
| Keyboard trap | Forty consecutive Tab presses cycle through all 21 controls and return to the start. Nothing holds focus. | Pass |
| Text contrast, app | Lowest ratio 4.56:1 across the join screen, the voting view, the revealed result and the projector view. | Pass (AA) |
| Text contrast, public pages | Lowest ratio 4.53:1 across the home page, privacy notice, legal notice, works council page and this page. | Pass (AA) |
| Automated rule check | Zero serious and zero critical findings from axe-core on the app and on every public page. Some moderate findings remain and are listed under the gaps. | Pass, notes below |
| Reduced motion | With the system preference set to reduce, the reveal animations are cut to zero duration. | Pass |
| Zoom to 200% | No sideways scrolling and no content cut off, on the app and on every public page. | Pass |
| Window narrower than 360 pixels | The app and the home page scroll sideways. The layout has a 360 pixel floor. | Known gap |
| Projector view with a screen reader | No live region, so a reveal is silent. The vote rows are plain text with unlabelled tick icons. | Known gap |
| The break card, once picked | The card itself is labelled "Coffee break", but the confirmation line under the deck shows only the icon, so it is announced without a value. | Known gap |
Using the tool with a keyboard only
The estimation loop was driven end to end with no pointer at all.
- Tab reaches the name field on the join screen; Enter joins the room.
- Tab moves through the deck one card at a time; Enter or Space casts the card that has focus.
- You can also type the value instead of tabbing to it. Typing 8 casts 8 at once. Typing 1 then 3 casts 13. Typing 1 on its own casts 1 after a short pause, so the two digit cards stay reachable.
- ? casts the unsure card, C or K casts the break card, and a comma or a full stop casts the half card.
- Escape clears what you have typed so far. It does not withdraw a vote you have already cast; to change a cast vote, pick another card.
- Typing only casts while a round is open and only for people who hold cards, so it never fires in the projector view, and never while you are typing in a text field.
Seeing where you are
Every control that can take focus shows it. The estimate cards, the invite link field, the copy button, the language switch, the leave button, the coaching tips and the links in the bar each draw a 2 pixel outline. On the estimate cards it sits 3 pixels clear of the edge, so the ring is not swallowed by the card border.
The ring uses the browser's focus-visible behaviour, which means it appears for keyboard users and stays out of the way when you click with a mouse.
What a screen reader is told
- Each estimate card is exposed as a button with the card value as its name, so the deck reads as "0", "1", "2", "3", "5" and so on, plus "?" for unsure and "Coffee break".
- The line under the deck is a polite live region. Casting 5 announces "Your pick: 5" without you having to go looking for it.
- The invite link field, the copy button, the leave button and the language switch all carry names, so none of them reads as an unlabelled control.
- The name field on the join screen takes its name from its placeholder, "Your display name". That works, but a placeholder disappears as soon as you type, so a persistent label would be better and is on the list.
Contrast, measured rather than assumed
Automated tools frequently report contrast as "needs review" on this kind of layout, because text sits on translucent and layered backgrounds. So the check was done by hand: for every piece of text, the painted colour and the real background behind it were read from the rendered page, then the WCAG ratio was calculated.
Across the join screen, the voting view, the revealed result and the projector view, 48 text elements were measured and the lowest ratio was 4.56:1. Across the public pages the lowest was 4.53:1. The AA threshold for normal text is 4.5:1, so everything clears it, though several small labels clear it only narrowly.
Zoom, text size and small screens
At 200% zoom every page reflows into a single column with no sideways scrolling and nothing cut off. On a 375 pixel phone the app and all public pages fit their width.
Below about 360 pixels the app and the home page scroll sideways, because the layout has a 360 pixel floor. The privacy notice, the legal notice, the works council page and this page do reflow correctly down to 320 pixels.
Motion
When cards are revealed, the result animates in. If your operating system is set to reduce motion, that animation does not run: the durations are forced to zero rather than merely shortened, which was confirmed by measuring the running animations in both states.
Nothing on the site moves on its own except a small pulsing dot on the home page, and that stops under the same setting. There is no parallax, no scroll hijacking, and no content that starts moving without you asking for it.
Language and page structure
Every page declares its language, so a screen reader uses the right pronunciation: English pages are marked as English, the pages under /de/ as German. Each language has a full twin, and the EN and DE links in the bar point at the matching page rather than dropping you on the front page.
The public pages have one first-level heading each, headings in order with no skipped levels, and a main region so you can jump straight to the content.
This is a self-assessment, not a certified audit Not certified
No external accessibility audit has been carried out and there is no certification. The checks behind this page were run by the maker of the tool: an automated rule check with axe-core, a manual keyboard pass through a live estimation session, contrast computed from the rendered pixels, and layout checks at 320 and 375 pixels and at 200% zoom, in a Chromium browser.
Not covered: testing with people who use assistive technology every day, real screen readers such as NVDA, JAWS or VoiceOver, Windows high contrast mode, voice control, and browsers other than Chromium. Where this page says something is announced, that means the name is correctly exposed to the browser, not that a particular screen reader was heard saying it.
The half card may not be read out clearly
The half card is the single character ½, and that character is also its name for assistive technology. Some screen readers say "one half", others say "one slash two", and some skip it. This was not tested with a real screen reader, so it is listed as unknown rather than as working.
If you use the half card and it is unclear, the comma and full stop keys cast it directly, and the round result is announced as a number either way.
The break card is not announced by name
The break card is drawn as a coffee icon. The card itself is labelled "Coffee break" and reads correctly in the deck, but the confirmation line underneath shows the icon on its own, so after picking it a screen reader announces "Your pick:" with nothing after it. Every other card announces its value. This is a fix waiting to be made, not a design decision.
The projector view is not built for screen readers Use the room view
The board view, the one you put on a screen in the room, is a visual display for a group. It has no live region, so a reveal happens silently, the vote rows are plain text without roles, and the small tick icons carry no label.
If you use a screen reader, use the normal room view instead. It carries the same round, announces your own pick, and is the view the keyboard work above was tested against. The projector view is meant to be a second screen for the room, never the only way in.
Smaller gaps that are known
- The room view has no top level heading and no main region, so "jump to main content" and heading navigation are less useful inside the app than on these public pages. Automated checks rate this moderate.
- There is no skip link past the top bar. The bar holds few controls, so the cost is a handful of Tab presses rather than a barrier.
- Below 360 pixels of width the app and the home page scroll sideways.
- The join screen's name field is labelled by its placeholder rather than by a permanent label.
These are listed because they are real, not because they are all equally urgent. They are open items, and this page is updated when they change.
If something here blocks you
Contact
Write to the operator. Say which page or which part of the room, what you were trying to do, and what you use (browser, screen reader, magnification). That is usually enough to reproduce it.
Response
This is a small product built by one person, so there is no service level agreement. Anything that blocks a person from taking part in an estimation round is treated as the highest priority.
Scope of this statement
The estimation app at callitafive.com, including the join screen, the voting view, the revealed result and the projector view, plus the public pages in English and German.
Basis
Checked against WCAG 2.2 level AA as the yardstick. This page reports findings against that yardstick; it does not claim conformance, and it is not a legal declaration.