Answers: what’s wrong with the broken page
Try the audit worksheet first. Then compare your list with this one.
Headings
| Problem | What the user hears | Fix |
|---|---|---|
The logo “Riverside Library” is the h1. | The same h1 on every page; pressing 1 never reaches the page topic. | Make the logo a link in a <p>; make the page title the h1. |
The page title is a styled <div>. | Not in the headings list at all. | <h1>Autumn Reading Festival 2026</h1> |
“About the festival” is an h4 right after the h1. | “Heading level 4” — levels 2 and 3 seem to be missing. | Use h2. |
| “Programme” is bold text in a paragraph. | Not a heading; the days appear to belong to “About the festival”. | Use h2. |
The days are h2 but belong under “Programme”. | Days look like top-level sections. | Use h3. |
“Getting here” is an h5. | Skips from h2 to h5. | Use h2. |
An empty h3 is used for spacing. | “Heading level 3” and nothing else. | Remove it; use CSS margins. |
“Opening hours” is <strong>. | Not in the headings list — the most-wanted info is the hardest to find. | Use h2. |
“Related events” is an h6, “Get the newsletter” is a <div>. | Odd levels; newsletter not findable. | Use h2 for each sidebar box. |
“Library information” in the footer is a <div>. | Not findable by headings. | Use h2. |
Landmarks
| Problem | What the user hears | Fix |
|---|---|---|
No main. | No way to jump to the content; no skip link either. | Wrap the article in <main id="main"> and add a skip link. |
Top bar is a <div>. | No banner landmark. | Use a top-level <header>. |
The main menu is a <div>… | The primary navigation is missing from the landmarks list. | <nav aria-label="Main"> |
…while breadcrumbs and footer links are <nav>, both unlabeled. | Two identical “navigation” landmarks, neither of them the main menu. | aria-label="Breadcrumb", aria-labelledby the footer heading. |
| Search form has no role. | No search landmark. | <form role="search"> or wrap it in <search>. |
Sidebar is a <div>. | No complementary landmark. | <aside aria-label="Plan your visit"> |
Footer is a <div>. | No contentinfo landmark. | Use a top-level <footer>. |
| Almost all content sits outside any landmark. | Landmark navigation skips most of the page. | All of the above. |
Notice what did not change: the fixed page looks exactly the same. Good structure costs nothing visually — the CSS classes stay, only the elements change.