Skip to main content
← πŸ“„ HTML & the platformΒ·Module A5 Β· Lesson 12
TaskFix the seven a11y violations. Add: alt on the img, aria-label on the icon button, aria-describedby on the email input pointing to #err, #err id on the error p, change the link color from #ccc to #595959, replace outline:none with a :focus-visible style on button.cta (outline 2px solid #3B82F6), add aria-live='polite' to #counter, and add <a class='skip-link' href='#main' style='position:absolute;top:8px;left:8px'>Skip</a> at the top.

Module capstone: audit a broken page

200 XP15 min
Theory

Putting A5 together

Audit the starter HTML/CSS. It has seven a11y violations from this module's lessons. Fix all seven and your build passes.

The violations:

  1. The image has no alt attribute.
  2. The icon button has no aria-label and no visible text.
  3. The error message isn't linked to its input via aria-describedby.
  4. The link uses light gray that fails contrast (3.2:1 needs 4.5:1).
  5. The button has outline: none with no replacement focus style.
  6. The dynamically-updated counter isn't marked aria-live.
  7. There's no skip-to-content link.

Apply lessons 1-11 to fix each. The Check button verifies all seven simultaneously.

πŸ”’

Sign up to start coding

Theory is open to everyone. The interactive editor, live preview, and check are unlocked with a 7-day free trial β€” card required, cancel anytime.

Sign up β€” free trial β†’

First 10 lessons in each track are free. No card needed for those.

← PreviousNext lesson β†’

Get one Python or web tip a day β€” by email

Short, hand-written, no spam. Unsubscribe in one click.