Requires that every web page has a title that describes its topic or purpose.
The page title is the first thing a screen reader announces when a page loads, and it is the label in the browser tab, in the history, in bookmarks and in search results. "Untitled" or "Home" on every page tells users nothing about where they are.
This criterion requires that web pages have titles that describe their topic or purpose. A good title is specific to the page and puts the most distinctive part first.
title element of every web page, and the title of single-page application views as they change.Screen reader users, who hear the title first when a page opens. People who have several tabs or windows open and need to find the right one. People with cognitive or memory difficulties, who rely on a clear title to confirm where they are. People using bookmarks, history or search results to find pages again.
The European Accessibility Act (Directive (EU) 2019/882) applies to in-scope products and services placed on the market after 28 June 2025. Recital 47 names four principles for websites and mobile applications: perceivable, operable, understandable and robust. Clear page titles are part of "operable".
The technical counterpart is the standard EN 301 549, which incorporates WCAG 2.4.2 by reference and turns it into separate clauses for each kind of ICT.
| Clause | Type of ICT | What it requires |
|---|---|---|
| 9.2.4.2 | Web pages | Web content must satisfy WCAG success criterion 2.4.2. |
In EN 301 549 V3.2.1 the software row for this criterion is marked void. Check whether V4.1.1 changes that. Whether and how the criterion applies to non-web documents is stated in clause 10 of the standard. Clause numbers follow the "9. + WCAG number" pattern of EN 301 549. In V3.2.1 the software clause is divided into further subclauses for open and closed functionality. Check the exact numbers in the standard when you cite them.
Standard version: EN 301 549 V4.1.1 (September 2026) is based on WCAG 2.2 and is the first version prepared specifically for the EAA. It has not yet been cited in the Official Journal of the European Union, so for now it is best treated as a voluntary technical route to the EAA's requirements. Once cited, it will give a presumption of conformity. The text of criterion 2.4.2 is the same in WCAG 2.1 and 2.2.
A note on EAA scope: Article 2(4) of the Directive excludes certain content from the requirements, for example office file formats published before 28 June 2025 and archives that are not updated after that date. Content you publish or change after that date is not covered by these exclusions.
Directive (EU) 2019/882, EUR-Lex, opens in a new tab
Put the page-specific part first and the site name last.
<title>Home</title><title>Order confirmation | Example Shop</title>A page without a title is announced by its URL or file name.
<head>
<meta charset="utf-8">
</head><head>
<meta charset="utf-8">
<title>Contact us | Example Shop</title>
</head>If every page is called the same, users cannot tell them apart in tabs or history.
<title>Example Shop</title> <!-- on every page --><title>Running shoes, page 2 | Example Shop</title>Say which step the user is on, and mention an error if the page shows one.
<title>Checkout</title><title>Payment, step 3 of 4 | Checkout | Example Shop</title>
<!-- After a failed submit: -->
<title>Error: payment failed, step 3 of 4 | Example Shop</title>Update document.title when the route changes, and tell assistive technology about the change.
router.afterEach(() => { /* title never changes */ });router.afterEach((to) => {
document.title = `${to.meta.title} | Example Shop`;
// Move focus to the main heading so screen readers announce the new view
document.querySelector("h1")?.focus();
});Give a PDF a real title and make viewers show it instead of the file name.
Title: scan_0042.pdfTitle: Annual accessibility report 2026
Viewer preference: DisplayDocTitle = trueIn native apps each screen needs a title for the same reasons. The screen title appears in the navigation bar and is announced when a screen reader moves to a new screen. In EN 301 549 V3.2.1 this row was void for software, so treat it as good practice.
import SwiftUI
struct OrderConfirmationScreen: View {
var body: some View {
NavigationStack {
OrderSummary()
// Avoid: .navigationTitle("") or a title shared by every screen
.navigationTitle("Order confirmation")
.navigationBarTitleDisplayMode(.inline)
}
}
}import androidx.compose.material3.*
import androidx.compose.runtime.Composable
@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun OrderConfirmationScreen() {
Scaffold(
topBar = {
// Avoid: an empty title or one shared by every screen
TopAppBar(title = { Text("Order confirmation") })
}
) { padding ->
OrderSummary(padding)
}
}