mcp_accessibility_test_accessibility).| Section | Rules | Affected elements |
|---|---|---|
| Section 1 — Standard (MCP) | 5 | 20 |
| Section 2 — Keyboard / Carousel | 7 | ~33 |
WCAG: 1.1.1 (Level A) | EN 301 549: 9.1.1.1 | help
Affected: 2
| Selector | HTML |
|---|---|
img[src$="slide1.jpg"] | <img src="images/carousel/slide1.jpg"> |
img[src$="captcha.png"] | <img src="images/captcha.png"> |
WCAG: 4.1.2 (Level A) | EN 301 549: 9.4.1.2 | Section 508 22.n | help
Affected: 10
| Selector | HTML |
|---|---|
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"> |
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
| Selector | HTML |
|---|---|
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> |
WCAG: 3.1.1 (Level A) | EN 301 549: 9.3.1.1 | help
Affected: 1 — root <html> element has no lang attribute.
WCAG: 1.4.1 (Level A) | EN 301 549: 9.1.4.1 | help
Affected: 3
| Selector | HTML |
|---|---|
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> |
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.
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.
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 (4 slides, auto-rotates)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.
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.
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.
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.
WCAG: 4.1.3 (Level AA) | EN 301 549: 9.4.1.3
Slide changes are not announced — no descendant element with aria-live.
