Accessibility Interview Questions and Answers
Semantic HTML, keyboard and focus, ARIA roles and states, accessible names, forms and errors, contrast and motion, widget patterns, screen readers, WCAG 2.2, testing and the European Accessibility Act.
225 questions for Accessibility interviews with answers and explanations - Junior, Middle and Senior levels. Sample questions, online quizzes and coding tasks.
- WCAG
- ARIA
- Keyboard
- Screen readers
- Contrast
Questions by level
Junior
Core concepts and syntax · 50 questions
Middle
Practice, nuances and optimization · 50 questions
Senior
Architecture, internals, edge cases · 50 questions
Sample questions
A few questions from each level with the correct answer and an explanation.
Accessibility · Junior
- What does web accessibility (a11y) mean?
Show the answer
Correct answer: People can use a site whatever their abilities or devices
Accessibility means people with visual, hearing, motor or cognitive disabilities can perceive, understand and operate the site. "a11y" is a shorthand: a, 11 letters, y.
- Who benefits from accessible interfaces?
Show the answer
Correct answer: Everyone, including people with temporary limits
A broken arm, bright sunlight or a noisy train create the same barriers as permanent disabilities. Captions, contrast and keyboard support help all of those people.
- What is WCAG?
Show the answer
Correct answer: The W3C guidelines for making web content accessible
The Web Content Accessibility Guidelines define testable success criteria. Version 2.2 is the current W3C Recommendation, and laws and contracts often refer to it or to 2.1.
- What are the four WCAG principles?
Show the answer
Correct answer: Perceivable, Operable, Understandable, Robust
Known as POUR. Users must be able to perceive content, operate the interface, understand it, and rely on it working with assistive technologies.
Accessibility · Middle
- What is the accessibility tree?
Show the answer
Correct answer: A browser structure of roles, names and states built from the DOM
Assistive technologies read this tree through platform APIs, not the DOM directly. Chrome and Firefox DevTools let you inspect it for any element.
- Which source usually wins when computing an element's accessible name?
Show the answer
Correct answer:
aria-labelledby, thenaria-label, then native labelling and contentThe computation has a defined order.
aria-labelledbyoverrides everything, so a stale reference can silently replace a good visible label. - What is the difference between
aria-labelledbyandaria-describedby?Show the answer
Correct answer: The first sets the name; the second adds a supplementary description
The name says what a control is and is always announced. The description adds details such as format hints, and users can configure whether they hear it.
- Why prefer
aria-labelledbypointing at visible text overaria-label?Show the answer
Correct answer: Visible text stays in sync and is translated with the page
aria-labelis easy to forget during updates and browser translation tools may skip it. Reusing visible text keeps one source of truth.
Accessibility · Senior
- How does information get from the DOM to a screen reader?
Show the answer
Correct answer: The browser exposes the accessibility tree via platform APIs
Browsers map roles and states to APIs such as UI Automation on Windows or the AX API on macOS. That's why results differ across browser and reader pairs.
- Which of these roles gets its name from its content?
Show the answer
Correct answer:
button, whiletextboxneeds a label from elsewhereRoles such as button and link allow name from content. A textbox can't, because its content is the user's value.
- Can
aria-describedbypoint to an element with thehiddenattribute?Show the answer
Correct answer: Yes, referenced hidden content still contributes
Name and description computation includes hidden nodes when directly referenced. It's handy for a description that shouldn't appear on screen.
- A modal sets
aria-hidden="true"on#app, but focus is still inside#app. What happens?Show the answer
Correct answer: Focus lands in hidden content; Chrome may even block the attribute
Move focus first. Chrome warns and ignores
aria-hiddenwhen a descendant holds focus. Preferinert, which removes focus as well.
Combined quizzes with this topic
Questions from several topics at once - just like an interview for a specific role.
Coding tasks
Write your solution right in the browser, and tests check it instantly. JavaScript interview classics (debounce, deepClone, Promise.all, an LRU cache), TypeScript tasks on generics, narrowing and utility types checked by the real compiler, Node.js backend logic (middleware, rate limiters, job queues), SQL queries in real PostgreSQL, and React components and hooks like a todo list, tabs, useDebounce and useInterval.
Open tasks →