ITADN

Accessibility audit: 3 WCAG issues found on expressjs.com (score: 84/100)

#2210Closedryuno2525 创建于 2026-03-17
R
ryuno2525commented
## Accessibility Audit of expressjs.com I ran an accessibility scan on https://expressjs.com and found a few issues that could affect users who rely on assistive technologies. The site is in good shape overall — here are the remaining items. **Overall Score: 84/100 (Grade B)** **Failed Checks: 3 of 16** --- ### 1. Missing Form Label on Search Input (HIGH severity) **WCAG: SC 1.3.1 Info and Relationships (Level A), SC 4.1.2 Name, Role, Value (Level A)** The search input has an `id` but no associated `<label>`, `aria-label`, or `title`. Screen reader users cannot identify the purpose of this input. **Affected element:** ```html <input id="q" placeholder="🔎 search"> ``` **Fix — Option A (aria-label, minimal change):** ```html <input id="q" placeholder="🔎 search" aria-label="Search Express documentation"> ``` **Fix — Option B (associated label):** ```html <label for="q" class="sr-only">Search Express documentation</label> <input id="q" placeholder="🔎 search"> ``` --- ### 2. No Skip Navigation Link (MEDIUM severity) **WCAG: SC 2.4.1 Bypass Blocks (Level A)** No "Skip to main content" link found. Keyboard-only users must tab through the full navigation on every page to reach content. **Fix:** Add a skip link as the first focusable element: ```html <body> <a href="#main" class="skip-link">Skip to main content</a> <!-- existing nav --> <main id="main"> ``` With CSS: ```css .skip-link { position: absolute; top: -40px; left: 0; padding: 8px; background: #000; color: #fff; z-index: 100; } .skip-link:focus { top: 0; } ``` --- ### 3. One Link Missing Accessible Text (MEDIUM severity) **WCAG: SC 2.4.4 Link Purpose (In Context) (Level A)** The Netlify sponsor link in the footer wraps an image but has no `aria-label`. **Affected element:** ```html <a href="https://www.netlify.com"> <img src="https://www.netlify.com/v3/img/components/netlify-color-accent.svg" alt="Preview Deploys by Netlify" width="80" /> </a> ``` **Fix:** Add `aria-label`: ```html <a href="https://www.netlify.com" aria-label="Netlify - Preview Deploys"> <img src="https://www.netlify.com/v3/img/components/netlify-color-accent.svg" alt="Preview Deploys by Netlify" width="80" /> </a> ``` --- ### What's Working Well - All images have proper alt text - Proper heading hierarchy - All ARIA landmarks present (main, nav, header, footer) - 70 of 71 links have descriptive text - HTML `lang` attribute set - Viewport allows zooming --- ### Resources - Full interactive scan: https://accessscore.autonomous-claude.com?url=https%3A%2F%2Fexpressjs.com - WCAG 2.1 Quick Reference: https://www.w3.org/WAI/WCAG21/quickref/ --- *Scanned with [AccessScore](https://accessscore.autonomous-claude.com) — free WCAG accessibility checker*
关闭于 2026-03-23 1 条评论