Publishing a new page should feel like a pre-flight check, not a gamble. One of the most overlooked items on that checklist is whether someone can actually use the page with a keyboard alone.
Before publishing any new page, run a 5–10 minute keyboard-only pass that checks focus visibility, logical tab order, skip links, menus, modals, and forms, then log issues for follow-up.
This is not a full accessibility audit and it won’t make your site “legally compliant” on its own. But a fast, honest keyboard pass will catch the kinds of failures that quietly block conversions, frustrate real users, and show up later as support tickets and unplanned dev work.
Think of it as a Maintenance Maturity move: you’re turning “we hope this page works” into “we have a repeatable, owned check before we ship.”
Why a Page-Level Keyboard Check Belongs in Your Publishing Workflow
Most teams still do visual QA: they click around with a mouse, skim the content, maybe resize the browser. Keyboard use is treated as an edge case.
In support work, we’ve noticed a different pattern: some of the worst user-blocking issues only show up when you put the mouse away.
Typical keyboard-only failures on otherwise “finished” pages:
- You can’t get to the main call-to-action button at all.
- The first Tab lands on a hidden social icon instead of the main navigation.
- Opening a modal traps focus behind the overlay so you can’t reach its Close button.
- After submitting a form, focus disappears and screen-reader or keyboard users have no idea what changed.
None of those show up in a static design mockup. All of them are preventable with a short, page-level check.
From a Maintenance Maturity perspective, this matters because:
- Risk shrinks when checks are routine. A 5–10 minute gate on every new page is more protective than a big, rare “accessibility push” you can’t sustain.
- Patterns become visible. When you log issues page by page, you start to see recurring component problems (for example, one menu script causing traps everywhere).
- Ownership becomes clearer. Instead of one hero developer “doing accessibility when they have time,” you have a documented step that any trained publisher can run.
If you’ve read our diagnostic mindset in posts like What to Check Before Calling a Performance Problem “Just the Page Builder” and found that useful as a prerequisite to blaming tools, this article is the keyboard-specific counterpart for your publishing workflow.
As a prerequisite to this decision, What to Check Before Calling a Performance Problem “Just the Page Builder” explains the adjacent issue in more detail.
What a Keyboard-Only Pre-Publish Check Can—and Cannot—Do
Before you build this into your process, set the right expectations.
What this keyboard pass can do
A quick, page-level keyboard check can:
- Catch obvious blockers: unreachable buttons, dead-end components, and keyboard traps.
- Reveal broken focus styling: outlines too faint to see, or removed entirely.
- Expose template drift: a shared layout that used to work but now fails after a small change.
- Provide evidence: a concrete list of issues, with URLs and notes, to prioritize fixes.
This fits your Buyer Maturity Path if you’re solution-aware: you know accessibility matters, and you’re trying to decide whether to handle it as an internal workflow or with structured support.
What this keyboard pass cannot do
A 5–10 minute keyboard check is not:
- A complete accessibility audit.
- A guarantee of WCAG conformance or legal compliance.
- A substitute for testing with assistive technologies like screen readers.
- Enough on its own for complex web apps or third-party widgets.
Treat it like a solid pre-flight checklist: fast, repeatable, specific enough to catch real risk, and honest about what it doesn’t cover.
When recurring keyboard failures or complex components show up, that’s the signal you’re outgrowing manual-only checks and should be evaluating structured options like dedicated accessibility audits or formal ongoing website support service support.
Set Up: How to Prepare for a 5–10 Minute Keyboard Pass
You don’t need special tools. You do need a consistent routine.
Environment
Use this setup:
- Browser: Any modern browser (Chrome, Edge, Firefox, Safari). Stick to one for consistency.
- Mode: Use an incognito/private window if your site’s login state changes what’s visible. Test the public version users see.
- Viewport: Start at a standard desktop size; this is a quick check, not a full responsive audit.
- No mouse: Put your mouse out of reach. The point is to experience what keyboard users experience.
Keyboard keys you’ll use
You only need a handful of keys:
Tab– Move focus forward through interactive elements.Shift + Tab– Move focus backward.Enter– Activate focused links and buttons; submit forms when focus is on a submit button.Space– Toggle checkboxes, some buttons, and some custom controls.- Arrow keys – Move inside menus, radio groups, select boxes, sliders, or other widgets that support them.
Escape– Close modals, popovers, and some menus.
If you’re new to this, practice on a familiar, simple site for a minute. You’ll quickly see the pattern: Tab, observe, activate, repeat.
Have a place to log notes
Open a simple document or ticket template and capture, for each issue:
- URL – The exact page you’re testing.
- Location – Enough description to find it (for example, “hero CTA button” or “newsletter modal”).
- Action – What you tried to do.
- Expected – What should have happened.
- Actual – What actually happened.
- Severity – Blocker, high, medium, or low.
You’ll use this later to decide whether to delay publish or schedule fixes.
Step 1: Confirm You Can Reach All Interactive Elements by Keyboard
Goal: Every link, button, and control on the page can be reached by Tab or arrow keys, and you can always move on or back out.
How to test
- Place your cursor in the browser’s address bar.
- Press
Tabonce. Focus should land on the first interactive element on the page. - Keep pressing
Tabto move forward through everything you could click with a mouse. - Use
Shift + Tabto move backward occasionally.
While doing this, check:
- Unreachable elements: Any obvious button, link, or tab you can see but never reach with
Tab. - Dead elements: You reach a button or link, press
Enter, and nothing happens. - Keyboard traps: You enter a section (for example, embedded video, carousel, or chat widget) and can’t get out with
Tab,Shift + Tab, orEscape.
What passes
- You can reach all visible navigation links, CTAs, form fields, tabs, and controls.
- Activating them with
EnterorSpaceperforms the expected action. - You can always keep moving forward with
Tabor backward withShift + Tab.
What fails (examples we often see)
- Tab lands on a hidden social-share icon off-screen, then jumps straight to the footer, skipping the main navigation and hero CTA entirely.
- A chat widget grabs focus and won’t release it;
Tabjust cycles inside it. - Embedded third-party forms or widgets look fine visually but never receive focus.
Log each failure with URL, location, action, and severity. Anything that blocks reaching a primary CTA or form is usually a blocker or high severity.
Step 2: Check Focus Visibility on Every State Change
Goal: You can always see where you are on the page when you move with the keyboard.
How to test
As you Tab around the page:
- Watch for a clear focus indicator (often a border or outline) around the element.
- Activate key elements (menus, tabs, buttons) and see where focus goes afterward.
Pay attention to:
- No visible focus: The element is technically focused, but you see no visible change.
- Too subtle focus: A faint outline that disappears against the background.
- Focus loss: After clicking a button or submitting a form, no element seems focused.
What passes
- Every interactive element you reach has a clearly visible focus style.
- After an action (open menu, change tab, submit form), focus lands on something logical:
- The opened menu or tab panel.
- The next field or a confirmation message.
What fails
- Focus styles removed to “clean up the design.”
- Hover styles (for mouse users) exist, but equivalent focus styles do not.
- After a form submit, the page refreshes, but focus jumps to the browser chrome or disappears.
Invisible focus is one of the highest-impact failures because it turns navigation into guesswork. Treat it as a priority fix.
Step 3: Verify Logical Focus Order and Skip Links
Goal: Focus moves in a sensible, predictable order, and skip links (if present) actually work.
How to test
- From the top of the page, press
Tabslowly and narrate to yourself where focus goes. - Expect focus to move visually top-to-bottom and semantically from main navigation into content.
- If a “Skip to main content” or similar link appears, activate it with
Enter.
Look for:
- Skip link behavior: When you activate it, do you land at the main content heading or just jump slightly down the page without clear context?
- Unexpected jumps: Focus jumps from a header link straight to the footer, skipping blocks in the middle.
- Loops: Focus cycles between a small set of items and never reaches others.
What passes
- The first Tab or two lands on meaningful items (for example, skip link, logo, main nav), not random hidden icons.
- The skip link, if present, takes you directly to the primary content region.
- Focus order roughly follows the visual and logical layout of the page.
What fails
- Skip links that are visually present but do nothing when activated.
- Focus order driven solely by DOM order while layout changes have moved elements visually.
- Sticky headers or floating toolbars that steal focus in the middle of content.
When you log these, note whether the issue seems specific to this page or likely template-wide. Template-wide problems are strong evidence that you’re dealing with a theme or component issue, not a one-off mistake.
Step 4: Exercise Navigation, Menus, and In-Page Navigation
Goal: The main navigation and any in-page navigation are fully usable with a keyboard.
How to test
- Use
Tabto reach the main navigation. - If there’s a menu toggle (for example, a hamburger on smaller screens), focus it and press
EnterorSpace. - Use arrow keys and
Tabto move through dropdown menu items. - Activate in-page anchor links (for example, a table of contents) and see where focus lands.
Watch for:
- Menus that open but can’t be explored: You open a dropdown, but
Tabskips past its items. - Menus that can’t be closed by keyboard: You can open a mega-menu with
Enterbut only close it with a mouse. - Anchor jumps without context: In-page links scroll you somewhere, but focus doesn’t move to the new heading or section.
What passes
- You can open and close menus using keyboard controls only.
- You can move through all menu items and activate them.
- When you follow in-page navigation links, focus ends up on the target section so you have context.
What fails
- Mega-menus that trap focus or drop you back at the top after closing.
- Sticky navigation that appears or hides unexpectedly as you Tab.
- In-page navigation that scrolls you mid-paragraph with no clear focus.
Log each failure and mark anything affecting main navigation as high severity. Broken keyboard paths to navigation are practical blockers, not edge cases.
Step 5: Test Forms, Error Handling, and Confirmation States
Goal: Forms can be completed and understood using only a keyboard, including error messages and confirmations.
How to test
- Tab into the first form field.
- Move through every field with
TabandShift + Tab. - Type test input where appropriate.
- Intentionally trigger an error (for example, leave a required field blank, use an invalid email).
- Submit the form with
Enterwhen focused on the submit button.
Check for:
- Field order: Fields follow a logical sequence; you don’t bounce around the page.
- Labels: Each field has a visible label; placeholders alone are not enough.
- Error focus: When an error occurs, does focus move to the error summary or first invalid field?
- Error clarity: Error messages are close to the related field and clear.
- Confirmation behavior: After success, focus moves to a confirmation message or the next meaningful element.
What passes
- You can complete the form without using a mouse.
- When you submit with errors, the first Tab after reload lands on an error summary or the first invalid field.
- When you submit successfully, you can easily find the confirmation and continue.
What fails
- A contact form that looks fine but can’t be focused, because it’s in an iframe without keyboard support.
- Error messages at the top of the form while focus stays down near the submit button.
- Confirmation modals that appear without pulling focus inside them.
On lead-generation pages, form failures are directly tied to revenue, not just “user experience.” Treat keyboard-blocked forms as launch blockers.
Step 6: Test Modals, Popovers, and Other Overlays
Goal: Overlays are usable and escapable with a keyboard: focus moves into them when they open, stays inside while they’re active, and returns to a sensible place when they close.
How to test
- Use
Tabto reach the control that opens a modal or popover (for example, “Contact us” button, “Book a demo,” or “More details”). - Activate it with
EnterorSpace. - Once the overlay is open, use
Tab/Shift + Tabto move through its content. - Use
Escapeto try closing it. Also test any visible Close button.
Watch for:
- Focus not moving into the overlay: The modal appears visually, but focus stays behind it.
- Lost focus: After closing, focus jumps to the top of the page or disappears.
- Keyboard traps: You can’t leave the overlay because focus is stuck.
What passes
- When the modal opens, focus moves to the modal (often its heading or first interactive element).
- You can Tab through all interactive elements inside.
Escape(or a Close button activated withEnter) closes the overlay.- When it closes, focus returns to the element that opened it.
What fails
- A modal contact form that opens from the main CTA but can’t be reached with Tab at all.
- “Cookie preference” banners that trap focus, with no working keyboard way to accept or close.
- Popovers that close unexpectedly when you Tab, losing your place.
These issues are classic sources of friction on new landing pages built from old templates. When you see them repeatedly, it’s usually a sign your shared modal component, not just one page, needs attention.
How to Log Issues and Decide What Happens Next
Running the check is only half the job. The value comes from what you do with what you find.
A lightweight logging template
For each issue, capture:
- Page: URL
- Component: For example, “main nav,” “hero CTA,” “newsletter signup form,” “pricing modal.”
- Issue description: One or two sentences, using the action/expected/actual pattern.
- Severity:
- Blocker: A primary path (navigation, key CTA, form) is unusable by keyboard.
- High: Important path is confusing or hard to use but barely possible.
- Medium: Annoying but workarounds exist (for example, minor focus order issues).
- Low: Cosmetic or non-critical friction.
- Scope guess: Page-only or template-wide.
Decide: delay the publish or ship with a plan
Use a simple rule-of-thumb:
- Delay publish if:
- Any blocker exists.
- Multiple high issues affect core navigation or forms.
- Publish with a tracked fix if:
- Issues are medium/low, documented, and scheduled with an owner.
This is where the Maintenance Maturity lens is useful:
- If you never delay for blockers, you’re signaling that accessible navigation isn’t really a requirement.
- If you always delay for minor issues, your process may grind to a halt.
Mature teams make these tradeoffs explicit, document them, and adjust over time.
If this sort of triage and follow-through already feels familiar, you may find our broader Website Support articles helpful as an expansion on how to structure other parts of your maintenance workflow.
Fitting Keyboard Checks Into a Sustainable Maintenance Maturity Path
Running a keyboard pass once is helpful. Building it into your publishing workflow is where it starts to change your operating model.
Here’s a practical way to level up over time.
Level 1: Hero testing (where many teams start)
- One person on the team “knows accessibility” and occasionally runs checks.
- Keyboard issues get fixed when someone shouts loudly enough.
- Nothing is documented; processes live in people’s heads.
This is fragile. When that person is busy or leaves, the checks disappear.
Level 2: Documented publishing gate
- Every new page or template change must pass a 5–10 minute keyboard check before approval.
- The checklist you just read is part of your content or QA documentation.
- Issues are logged consistently in your ticketing system.
At this level, you avoid the most obvious regressions and start seeing patterns: “Every time we add a third-party form, we get new keyboard traps.”
Level 3: Structured support and continuous hardening
- Recurring failures drive backlog items to fix shared components instead of patching one page at a time.
- Keyboard testing is paired with other defined checks (performance, SEO, post-deploy smoke tests).
- A support partner helps maintain the system as it changes.
We often see buyers reach this level after realizing that manual checks alone can’t keep pace with new campaigns, templates, plugins, and stakeholders.
If you’re recognizing the same feeling you had when diagnosing page performance issues and found it useful to walk through What to Check Before Calling a Performance Problem “Just the Page Builder”, that’s a sign you’re moving along your Buyer Maturity Path—from “we have a specific problem” to “we need a sustainable operating model.”
At that point, it’s worth looking at how a support engagement could own and evolve this checklist instead of relying on one overworked marketer.
From One-Off Checklist to Supported Practice
If you’re responsible for a serious business site, a keyboard-only pre-publish check is no longer a nice-to-have. It’s a baseline publishing responsibility.
Here’s the decision in front of you:
- If your team can reliably run this 5–10 minute keyboard pass on every new page, formalize it. Write it into your publishing checklist, train every editor, and decide in advance which severities justify delaying a launch.
- If you keep finding the same failures, can’t keep up with fixes, or don’t have anyone to own the process, you don’t just have an accessibility gap—you have a Maintenance Maturity gap.
Leaving it unresolved has a clear consequence chain: blocked or confusing navigation for keyboard users → abandoned forms and lost leads → support complaints and reputation damage → rushed, expensive dev requests → more complexity and more regressions next quarter.
A focused support partnership can short-circuit that cycle. In an ongoing website support service support engagement, this keyboard checklist doesn’t live in a single person’s head; it becomes a defined gate in your publishing workflow. The work typically includes codifying the checklist, wiring it into your review process, hardening shared components that repeatedly fail, and monitoring changes so new content and campaigns don’t reintroduce the same traps.
If you’re seeing recurring keyboard issues or don’t have the capacity to keep this checklist running on every release, the most practical move is to start a conversation about how your current publishing process works and where it’s breaking down. You can outline that picture and explore whether support is a fit by getting in touch through a short, concrete request on our contact form about your publishing workflow and keyboard checks.