Accessible Job Application: 12 Keyboard Checks for ATS
Use this accessible job application checklist to test keyboard navigation, focus, errors, uploads, scheduling, and accommodation routes in your ATS.
Ernest Bursa
An accessible job application lets a candidate complete every step with a keyboard and assistive technology. Controls need clear labels, logical and visible focus, actionable errors, non-drag alternatives, preserved input, and an obvious accommodation route. WCAG 2.2 AA is a practical baseline, but only testing the complete journey shows whether the flow works.
The entire journey matters. A careers page can pass a scan while the résumé upload, date picker, time-zone selector, external sign-in, or confirmation page prevents a candidate from applying.
Why is keyboard access a hiring issue, not a power-user preference?
Keyboard access determines whether some qualified candidates can enter your pipeline at all. It is not just a faster way for expert users to move around a graphical interface.
A recent essay arguing that GUIs should be fully keyboard-driven sparked a broad Hacker News debate. The useful hiring lesson is narrower than the headline: every required action in an application should be possible without precise mouse movement, and the person using it should always know where focus is.
That helps people who are blind, have low vision, use voice input, have limited dexterity, or cannot use a pointer. But do not collapse those needs into “accessibility is good usability.” A feature can be essential to one person even when most candidates never notice it.
Recruiting teams often measure application friction by form length and conversion. Accessibility changes the question. Instead of asking only “How many people finished?”, ask “Could a person using this interaction method finish independently?” A blocked candidate does not become a row in your funnel, so ordinary pipeline analytics cannot show you who never arrived.
The risk extends beyond the initial form. A candidate may need to open a magic link, correct an invalid upload, choose an interview slot, change a time zone, remove a portfolio file, complete an external authentication step, and return to the right place. Your candidate experience is the sum of those transitions, not the polish of the first screen.
How many online job applications work with screen readers?
In a peer-reviewed study of 90 application trials, only 50, or 55.6%, were completed independently by expert screen-reader users. The result applies to the sampled Fortune 500 sites and technology stacks, not every portal or every disabled candidate.
Reuschel, McDonnall, and Burton selected 30 Fortune 500 employers and asked three blind experts to apply once per site using three different browser and screen-reader combinations. Twenty-three of the 30 sites blocked at least one stack. Applications could be completed with all three stacks on only 23.3% of sites.
The researchers logged 694 accessibility and usability issues, including 73 blocker or critical issues. Three categories accounted for 75% of all logged problems: keyboard accessibility, information and relationships, and labels. Keyboard accessibility appeared in 53% of blocker issues, while date pickers and combo fields appeared in 34% of blockers.
Those numbers provide the strongest evidence base for an ATS accessibility review. They do not mean that 44.4% of candidates abandoned an application. The 40 unsuccessful trials measured inability to complete independently under specific test conditions, not a voluntary decision to leave.
The study also found progress. Completion rose from 28.1% in a 2011 predecessor study to 55.6% in the later work, and 26 of 30 sites worked with at least one tested stack. The problem is unreliability across configurations. A workflow that works with one stack can fail with another.
There are important limits. The study involved three expert blind users, one per stack, and large-company portals. Experts may navigate around defects that stop a less experienced user. The findings are directly about screen-reader use, so do not present them as a population-level keyboard-only failure rate.
What does WCAG 2.2 AA mean for a candidate portal?
WCAG 2.2 AA is a practical engineering baseline for candidate portal accessibility, not a universal law. For keyboard use, it asks whether every function works without a pointer, focus follows a meaningful path, and the focused control remains visible and usable.
The Web Content Accessibility Guidelines 2.2 turn broad intent into testable criteria. For a recruiting journey, the most practical reading is:
| WCAG criterion | What to inspect in a hiring flow |
|---|---|
| 2.1.1 Keyboard (A) | Apply, upload, select, schedule, submit, and cancel without a mouse or timing-specific keystroke. |
| 2.1.2 No Keyboard Trap (A) | Enter and leave dialogs, calendars, menus, upload widgets, and embedded tools with expected keys. |
| 2.4.3 Focus Order (A) | Move through the page in an order that preserves the form’s meaning and follows revealed errors or panels. |
| 2.4.7 Focus Visible (AA) | See a clear focus indicator on links, fields, buttons, radio options, and custom controls. |
| 2.4.11 Focus Not Obscured (AA) | Keep the focused control from disappearing behind sticky Apply bars, cookie banners, or dialogs. |
| 2.5.1 Pointer Gestures (A) | Provide a simple alternative to multipoint or path-based gestures unless the gesture is essential. |
| 2.5.7 Dragging Movements (AA) | Offer buttons or another non-drag method for uploads, ordering, and similar actions. |
| 2.5.8 Target Size (AA) | Make pointer targets at least 24 by 24 CSS pixels or meet the criterion’s spacing or equivalent-control exceptions. |
Keyboard support is not the same as screen-reader support. A custom date picker may respond to arrow keys but fail to announce the selected date. A newly revealed list of interview slots may be technically reachable while giving no audible indication that the page changed. You need semantic names, roles, states, relationships, and status announcements as well as keystrokes.
Native HTML controls reduce the behavior you must recreate, but they are not a complete answer. An input can still lack a useful label, and a labeled form can still erase every answer after one validation error.
How do you run the 12-step accessible job application checklist?
Run these 12 checks from the job listing through submission, portal access, and interview scheduling. Test the standard path and failure states because validation, uploads, dynamic panels, and third-party handoffs are where otherwise polished forms often break.
1. Prefer native controls before custom widgets
Use native text fields, radios, checkboxes, buttons, links, and file inputs unless a custom control provides necessary behavior. Native elements bring keyboard behavior and accessibility semantics that a styled div does not.
For every custom combo box, calendar, or modal, document the expected keys and announced states.
2. Give every control a useful accessible name
Every field and icon-only button needs a name that describes its purpose. “Remove portfolio file” is useful; “button” or an unlabeled trash icon is not. Group related radio buttons and checkboxes under a meaningful question.
Do not use placeholder text as the label. Required status, format expectations, and help text should be programmatically connected to the field they explain.
3. Follow a logical focus order
Press Tab from the page header to the final action, then reverse with Shift+Tab. Focus should follow the reading and task order, including conditional questions that appear after an answer.
Avoid positive tabindex values that create a second page order. When a summary or modal opens, move focus deliberately. When it closes, return focus to a stable control.
4. Keep keyboard focus visible and unobscured
You should be able to point to the focused element at every step. Do not remove the browser outline unless you replace it with an equally clear indicator across backgrounds and states.
Check sticky headers, consent banners, and fixed Apply bars at narrow and zoomed layouts. WCAG 2.2 added Focus Not Obscured at Level AA because hidden focus is useless.
5. Eliminate keyboard traps
Open every dialog, date picker, menu, and third-party widget, then leave it using expected keyboard commands. Test Escape where it is conventional, but do not make an undocumented shortcut the only exit.
Repeat the check after a validation error. Traps often appear only when a component changes state.
6. Make errors easy to find and repair
On submit, focus a concise error summary that links to the affected fields. Each field should identify its own error, preserve the candidate’s value, and explain the repair in plain language.
Do not announce only “invalid.” State what the field expects, then test whether a screen-reader user hears the summary and its links land on the correct controls.
7. Announce dynamic state changes
When a candidate selects a date and new time slots appear, make the selected state programmatically clear and announce the update. The same rule applies when an upload finishes, a file is removed, a section expands, or an asynchronous check fails.
Announce what the candidate needs to continue, then move focus only when the workflow requires immediate attention.
8. Make résumé and portfolio uploads operable
Keep an ordinary file-selection button even if you offer drag and drop. Show accepted formats and size limits before selection, announce progress and failure, and give every uploaded item an accessible remove action.
After removal, return focus somewhere predictable. Test a rejected file, interrupted upload, duplicate filename, and retry.
9. Provide alternatives to dragging and precision gestures
Any drag-to-order interaction needs Move up and Move down controls or an equivalent method. Date carousels should expose buttons or ordinary inputs rather than requiring a swipe. Small pointer targets should meet WCAG’s minimum size or spacing rules.
These checks also help people who use touch, switch controls, or other input methods.
10. Preserve entered data across errors and handoffs
A candidate should not retype an application because one field failed, a session expired, or an external authorization was cancelled. Preserve valid fields and uploaded work where it is safe to do so, and explain what must be repeated.
Hartwell, Orr, and Edwards found that removing résumé-data re-entry reduced applicant attrition without reducing applicant quality. The public abstract gives no effect size or disability subgroup, so do not invent a conversion claim.
11. Avoid surprise time limits
Do not time out an application without warning. If a limit is necessary, let the candidate extend it where the applicable WCAG exceptions allow, preserve work, and explain how to resume.
Test the expired state with a keyboard and screen reader. Its recovery message must be reachable and understandable.
12. Publish a human accommodation route
Place a clear “Need an accommodation to apply?” route before the form can block someone. Give a monitored email address or another accessible contact method, name a response expectation, and offer an alternative way to apply.
Do not require detailed medical disclosure or completion of the broken workflow first. This safety net does not replace repairing the portal.
Why should you test the journey instead of trusting a badge?
An automated scan, overlay, badge, or conformance document is an input, not proof that a candidate can apply. W3C says evaluation tools cannot check every accessibility aspect and cannot determine accessibility on their own.
W3C’s evaluation-tool guidance recommends knowledgeable human evaluation alongside tools. A scanner can catch missing labels, some contrast failures, and invalid markup quickly. It cannot reliably tell whether focus lands in a useful place after an error, whether a time-slot update makes sense when announced, or whether an external sign-in returns the candidate to the right context.
The Reuschel study adds a practical warning: portals built with the same broad vendor systems produced different outcomes. Your configuration, custom questions, brand layer, scripts, third-party components, and integrations can change accessibility after procurement. A vendor claim does not certify your configured journey.
Use a small repeatable matrix instead:
- Map critical journeys: find a job, apply, upload, fail validation, correct errors, submit, retain a receipt, enter the portal, schedule, reschedule, and complete any external handoff.
- Run every journey with Tab, Shift+Tab, Enter, Space, arrow keys, and Escape where expected.
- Test multiple assistive-technology stacks, recording the browser, screen reader, version, date, and result. Common starting points include NVDA with Chrome or Firefox, JAWS with Chrome or Edge when available, and VoiceOver with Safari.
- Break the happy path with invalid files, unavailable time slots, expired sessions, failed network requests, and cancelled authorization.
- Include disabled users in task-based evaluation, and report the users and stacks tested without generalizing beyond them.
Record the journey, stack, outcome, blocker, owner, fix, and retest date. Run keyboard checks on every relevant release, then repeat multi-stack evaluation after changes to forms, scheduling, authentication, uploads, or translations. Multi-language support helps candidates use an enabled language, but translation and accessibility remain separate test tracks.
What do U.S. and EU accessibility rules actually require?
There is no single rule making WCAG 2.2 AA mandatory for every recruitment portal. Employer size, public or private status, service type, contract, and jurisdiction all matter, so treat this section as practical guidance rather than legal advice.
In the United States, ADA Title I covers job-application procedures for covered employers, generally those with 15 or more employees. EEOC employer guidance says qualified applicants are entitled to reasonable accommodation in the application process absent undue hardship. Outsourcing the portal does not remove the employer’s responsibility.
The U.S. Department of Justice’s Title II web rule is different. It adopts WCAG 2.1 AA, not 2.2, for web content and mobile apps provided or made available by state and local public entities, including through vendors. The current DOJ guidance gives April 26, 2027 and April 26, 2028 deadlines based on entity size and type. This is not a blanket private-employer website rule.
In the European Union, the European Accessibility Act covers selected products and services. Its e-commerce definition concerns services offered to conclude a consumer contract, so it is unsafe to call the Act a general recruitment-portal mandate. Public-sector websites can fall under a separate directive, while national equality, employment, procurement, and accessibility rules can add duties.
Use WCAG 2.2 AA because it is a current, practical baseline and includes useful criteria such as unobscured focus, dragging alternatives, and minimum target size. Do not present that engineering choice as universal law. Get jurisdiction-specific advice for the employers, sectors, and countries you serve.
How is Kit approaching candidate portal accessibility?
Kit treats candidate experience as a complete journey, not just a form-conversion event. Its current implementation has useful accessibility foundations, but Kit has not completed a full public audit and does not claim WCAG 2.2 AA conformance.
The application flow uses native labels and controls for core fields. Failed submissions show a focusable, field-linked error summary, retain entered values and the candidate’s uploaded résumé where appropriate, and let the person repair rather than restart. Successful applications receive a durable read-only receipt with a reference they can retain.
Interview scheduling uses button-based date choices, native radio inputs for time slots, visible focus styling, and a named native rescheduling dialog. Browser tests exercise keyboard interaction on the tested scheduling surface. Candidate pages can also offer English, German, French, Spanish, and Polish options.
There is unfinished work. The candidate portal needs a skip link and focusable main target. Revealed date panels need stronger focus or live-region announcements. A dynamically created Remove file action needs an accessible name and deliberate focus restoration. The enhanced time-zone selector and GitHub authorization round trip still need complete keyboard and screen-reader journey tests across supported stacks.
Those gaps are why we will not turn a handful of well-designed components into a blanket accessibility claim. The next responsible steps are to close them, run a multi-stack audit, involve disabled users, publish the scope, and keep the resulting tests in the release process.
An accessible job application is not a badge you buy once. It is a journey you keep operable as forms, integrations, languages, and hiring stages change. Test the path, record the blockers, preserve a human route, and fix what prevents a qualified person from reaching your team.
Related articles
Ready to hire smarter?
Start free for 30 days. Cancel before it ends and you pay nothing. Set up your first hiring pipeline in minutes.
Start hiring free