• Success Criterion 2.4.2
  • Conformance level A

Single-Page App Title That Never Updates Between Views

2.4.2 — Page Titled

Scenario

Setting

A job board's application form

What’s wrong

single-page app route changes never updating document.title (all views share the initial title).

Example

router.push("/apply/step-2");
// document.title still reads "JobBoard" from the first page load

Why it matters

An applicant moving through multiple application steps can't tell from the tab or browser history which step they're on.

How to test

Navigate between views in a single-page app without a full reload: check whether the tab title updates for each — if it stays the same as the initial load, it fails.

How to fix

Update document.title on every route change so screen readers announce the new view.

function onRouteChange(step) {
  document.title = `Application Step ${step} of 4 - JobBoard`;
}

Outcome

Checking their tab, an applicant instantly knows which application step they've reached.

Who is affected

Screen reader users get no announcement that the page changed, since assistive tech relies on title updates to signal navigation.

Learn more