WCAG 2.4.2 Page Titled — Testing Guide for Mobile & Web Apps

WCAG 2.4.2, "Page Titled," is a Level A success criterion that mandates each page have a clear and descriptive title. This means the title should accurately reflect the content or purpose of the page.

January 15, 2026 · 6 min read · WCAG Guides

Ensuring Clear Navigation: A Practical Guide to WCAG 2.4.2 (Page Titled)

WCAG 2.4.2, "Page Titled," is a Level A success criterion that mandates each page have a clear and descriptive title. This means the title should accurately reflect the content or purpose of the page. For users, this translates to an immediate understanding of where they are within an application or website.

What WCAG 2.4.2 Requires

Simply put, every distinct page within your application or website needs a unique and informative title. This title is what appears in the browser tab, window title bar, or is announced by screen readers when a user navigates to that page. It's the first piece of information a user receives about the page's content.

Why Page Titles Matter

A well-titled page is fundamental for several user groups:

The EU Equal Access Act (EAA) and the Americans with Disabilities Act (ADA), among other global regulations, mandate accessibility for digital content, including clear page titling as a foundational element.

Common Violations and Examples

Violations of WCAG 2.4.2 often stem from either missing titles or titles that are too generic, duplicated, or misleading.

1. Missing Page Title:

2. Generic or Vague Page Title:

3. Duplicate Page Titles:

4. Misleading Page Title:

How to Test for Compliance

Testing for WCAG 2.4.2 is straightforward and can be done both manually and with automated tools.

#### Manual Testing Steps

  1. Observe Browser Tabs/Window Titles (Web): Navigate through each distinct page of your web application. Check the text displayed in the browser tab or window title bar.
  1. Use a Screen Reader (Web/Mobile):
  1. Examine App UI Elements (Mobile): For native apps, observe the primary heading or title displayed prominently on each screen. While this is a visual cue, it often corresponds to the accessibility title.

#### Automated Tools

#### Mobile-Specific Considerations

How to Fix Violations

Fixing WCAG 2.4.2 is generally a code-level adjustment.

#### Web (HTML)


    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <!-- Example for a product detail page -->
        <title>Product Name - Your Store</title>
    </head>
    <body>
        <!-- Page content -->
    </body>
    </html>

    // Example using React Helmet or similar library
    import { Helmet } from 'react-helmet';

    function ProductPage({ productName }) {
      return (
        <div>
          <Helmet>
            <title>{productName} - Your Store</title>
          </Helmet>
          {/* Product details */}
        </div>
      );
    }

#### Mobile (Native Apps)


        // In your Activity
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            setTitle("My Dynamic Activity Title"); // Sets title in the ActionBar
        }

        // In your Fragment
        @Override
        public void onResume() {
            super.onResume();
            ((AppCompatActivity) getActivity()).getSupportActionBar().setTitle("My Fragment Title");
        }

        <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:contentDescription="@string/screen_title_home">
            <!-- ... -->
        </RelativeLayout>

        // In your ViewController
        override func viewDidLoad() {
            super.viewDidLoad()
            self.title = "My View Controller Title" // Updates navigation bar title
        }

        // In your ViewController
        override func viewDidLoad() {
            super.viewDidLoad()
            self.view.accessibilityLabel = "My View Controller Title"
        }

How SUSA Checks This Criterion

SUSA (SUSATest) autonomously tests for WCAG 2.4.2 compliance as part of its core exploration process.

Test Your App Autonomously

Upload your APK or URL. SUSA explores like 10 real users — finds bugs, accessibility violations, and security issues. No scripts.

Try SUSA Free