← Back to summary

Accessibility Report — before.html

URL: https://projects.accesscomputing.uw.edu/au/before.html
Page Title: Accessible University Demo Site - Inaccessible Version
Test Date: May 12, 2026 | Standards: EN 301 549 (V3.2.1)

Accessibility Score: 47/100

Source: Accessibility MCP server (mcp_accessibility_test_accessibility).
Scope: Reflects ONLY the static (Standard) scan. Does NOT include Keyboard Accessibility findings (Section 2). See Section 2 for keyboard issues, scored separately as raw counts by impact.

Page Summary

Critical: 12 Serious: 34 Moderate: 1 Minor: 0
SectionRulesAffected elements
Section 1 — Standard (MCP)520
Section 2 — Keyboard / Carousel7~33

Section 1 — Standard Accessibility Violations

image-alt — Images must have alternative text Critical

WCAG: 1.1.1 (Level A) | EN 301 549: 9.1.1.1 | help

Affected: 2

SelectorHTML
img[src$="slide1.jpg"]<img src="images/carousel/slide1.jpg">
img[src$="captcha.png"]<img src="images/captcha.png">

label — Form elements must have labels Critical

WCAG: 4.1.2 (Level A) | EN 301 549: 9.4.1.2 | Section 508 22.n | help

Affected: 10

SelectorHTML
input[name="name"]<input type="text" name="name">
input[name="email"]<input type="text" name="email">
input[name="country"]<input type="text" name="country">
input[name="major_cs"]<input type="checkbox" name="major_cs">
input[name="major_eng"]<input type="checkbox" name="major_eng">
input[name="major_econ"]<input type="checkbox" name="major_econ">
input[name="major_phy"]<input type="checkbox" name="major_phy">
input[name="major_psy"]<input type="checkbox" name="major_psy">
input[name="major_sp"]<input type="checkbox" name="major_sp">
input[name="captcha"]<input type="text" name="captcha">

color-contrast — Insufficient color contrast Serious

WCAG: 1.4.3 (Level AA) | EN 301 549: 9.1.4.3 | help

Foreground #8a94a8 on background #e9e9ed — ratio 2.52:1 (expected ≥ 4.5:1). Affected: 4

SelectorHTML
li:nth-child(1) > a[href="#"]<a href="#">About</a>
li:nth-child(2) > a[href="#"]<a href="#">Academics</a>
li:nth-child(3) > a[href="#"]<a href="#">Admissions</a>
li:nth-child(4) > a[href="#"]<a href="#">Visitors</a>

html-has-lang — Page must declare a language Serious

WCAG: 3.1.1 (Level A) | EN 301 549: 9.3.1.1 | help

Affected: 1 — root <html> element has no lang attribute.

link-in-text-block — Links must be distinguishable without color Serious

WCAG: 1.4.1 (Level A) | EN 301 549: 9.1.4.1 | help

Affected: 3

SelectorHTML
p > a[href$="info.html"]<a href="info.html">click here</a>
p > a[href$="after.html"]<a href="after.html">click here</a>
a[href$="cheatsheet.html"]<a href="cheatsheet.html">click here</a>

Section 2 — Keyboard Accessibility Violations

keyboard-operable — Carousel controls not reachable by keyboard Critical

WCAG: 2.1.1 (Level A) | EN 301 549: 9.2.1.1

Carousel #carousel Previous (#btn-prev) and Next (#btn-next) controls are <div> elements with tabindex=-1 and no role. They are not focusable and cannot be operated with the keyboard.

focus-visible — No visible focus indicator Serious

WCAG: 2.4.7 (Level AA) | EN 301 549: 9.2.4.7

Sampled 30 interactive elements; 26 of 30 showed no outline and no box-shadow when focused (computed outline-style: none, box-shadow: none). Examples: About, Academics, Admissions, Visitors, Home, Before, After, Info, all sub-menu links, all form fields, Submit button.

skip-link — No "Skip to main content" link Moderate

WCAG: 2.4.1 (Level A) | EN 301 549: 9.2.4.1

First Tab from page load lands on <a href="index.html">Home</a> in the navigation bar — no skip link is present.

Carousel Findings — #carousel (4 slides, auto-rotates)

carousel-identification Serious

WCAG: 4.1.2 (Level A) | EN 301 549: 9.4.1.2

Container <div id="carousel"> has no role, no aria-roledescription="carousel", and no accessible name (aria-label / aria-labelledby). Assistive-technology users cannot identify it as a carousel.

carousel-slide-identification Moderate

WCAG: 1.3.1 (Level A) | EN 301 549: 9.1.3.1

4 slides (div.slide) lack role="group" + aria-roledescription="slide" and have no accessible name.

carousel-keyboard-operable Critical

WCAG: 2.1.1 (Level A) | EN 301 549: 9.2.1.1

Slides cannot be advanced with the keyboard. Prev/Next are non-focusable <div> elements (see keyboard-operable above), and the carousel does not respond to ArrowLeft/ArrowRight.

carousel-pause-control — Auto-rotating carousel has no pause/stop Critical

WCAG: 2.2.2 (Level A) | EN 301 549: 9.2.2.2

Carousel auto-rotates (before-carousel.js) yet provides no Pause / Stop / Hide control reachable by keyboard.

carousel-live-region Moderate

WCAG: 4.1.3 (Level AA) | EN 301 549: 9.4.1.3

Slide changes are not announced — no descendant element with aria-live.


Appendix — Screenshot

Screenshot of before.html