Challenge 3: Apply the Methodology to a New Page — Possible Solution ==================================================================== SCENARIO: A SaaS dashboard with a data table, a settings form, and a notification bell icon. STEP 1 — AUTOMATED SCAN FIRST ---------------------------------- Run axe/Lighthouse to catch the easy, mechanically-detectable issues first — likely candidates given this page's content: missing labels on settings form fields, insufficient contrast on table text or the bell icon, and a missing accessible name if the bell is icon-only. STEP 2 — FIX SEMANTIC HTML & ARIA -------------------------------------- Check that the data table uses real /
/ markup (not a div-based grid layout) so column/row relationships are actually programmatically available — a data table is a strong candidate for this exact div-vs-semantic-element problem. Check the notification bell isn't a div with onclick, and if it's icon-only, it needs Chapter 3's aria-label pattern (e.g. aria-label="Notifications") rather than no accessible name at all. STEP 3 — FIX KEYBOARD NAVIGATION ------------------------------------- A data-heavy dashboard likely has many interactive elements (sortable column headers, row actions, filters) — verify tab order matches visual layout (Chapter 4's DOM-order point is especially relevant for a grid/table layout, which commonly uses CSS positioning that can decouple visual and source order), and check for any outline: none with no :focus-visible replacement, a very common oversight in dashboard UI kits. STEP 4 — FIX FORMS ----------------------- The settings form specifically needs Chapter 5's treatment: real