Skip Link
// Definition
A link — usually the first focusable element, visually hidden until focused — that lets keyboard and screen-reader users jump straight past repeated navigation to the main content. "Skip to main content" appears on the first Tab press and, when activated, moves focus to `<main>`.
// Why it matters
Without a skip link, every keyboard user must Tab through the entire nav on every page load before reaching content — exhausting on a site with a large menu. QA cares because it's a WCAG requirement, trivially testable (Tab once, is it there?), and frequently missing or broken (present but doesn't actually move focus).
// How to test
cy.visit('/')
cy.get('body').tab() // first Tab
cy.focused().should('contain', /skip to main/i) // skip link is first
cy.focused().click()
cy.focused().should('match', 'main, main *') // focus actually moved to main// Common mistakes
- No skip link at all (keyboard users tab through nav every time)
- A skip link that's present but doesn't move focus when activated
- Permanently hidden (
display:none) so it never receives focus
// Related terms
Keyboard Navigation
The ability to operate all interactive elements of a user interface using only a keyboard — Tab to move between focusable elements, Enter/Space to activate controls, arrow keys within composite widgets, and Escape to dismiss overlays. WCAG 2.1 Success Criterion 2.1.1 requires that all functionality is operable via keyboard. QA testers verify keyboard navigation by tabbing through a page without a mouse, confirming a visible focus indicator appears on every focusable element, the tab order follows the logical reading order, and no keyboard trap prevents a user from moving forward or escaping a component.
Landmark
An ARIA region role (or native HTML5 element) that maps the major areas of a page — `banner`/`<header>`, `navigation`/`<nav>`, `main`/`<main>`, `contentinfo`/`<footer>`. Screen-reader users jump between landmarks to navigate a page structurally, the way a sighted user scans layout. Native semantic elements provide them implicitly.
Focus Management
The practice of programmatically controlling which element receives keyboard focus in response to user interaction or content changes — particularly when opening and closing dynamic UI components such as modals, drawers, toast messages, and single-page navigation. Correct focus management ensures that keyboard and screen-reader users are always aware of their position in the interface. QA testers verify that opening a modal moves focus into it, focus is constrained within the modal while it is open (a deliberate focus trap), closing the modal returns focus to the triggering element, and client-side navigation moves focus to the new page heading or a skip target.