Findings (2 P0, 1 P1, 2 P2, 1 P3 = 6 total)
P0 Critical:
frontend.php:26 — Incorrect role="banner" on decorative element. Creates false landmark on every ribbon instance (WCAG 1.3.1, 4.1.2)
frontend.php:26 — tabindex="0" on non-interactive static text. Unnecessary tab stop with no focus style (WCAG 2.4.3, 2.4.7)
P1 Major:
3. frontend.php:24,27 — Default <h3> tag for decorative ribbon text disrupts heading hierarchy (WCAG 1.3.1, 2.4.6)
P2 Minor:
4. frontend.php:28,40 — Inner icon <i> elements lack explicit aria-hidden (defense in depth) (WCAG 1.3.1)
5. frontend.php:33,38 — Empty decorative stitching divs not marked as presentational (WCAG 1.3.1)
P3 Low:
6. frontend.css.php — No prefers-reduced-motion media query (WCAG 2.3.3)
Files
modules/ribbon/includes/frontend.php
modules/ribbon/ribbon.php (default tag setting)
Parent: #238
Findings (2 P0, 1 P1, 2 P2, 1 P3 = 6 total)
P0 Critical:
frontend.php:26— Incorrectrole="banner"on decorative element. Creates false landmark on every ribbon instance (WCAG 1.3.1, 4.1.2)frontend.php:26—tabindex="0"on non-interactive static text. Unnecessary tab stop with no focus style (WCAG 2.4.3, 2.4.7)P1 Major:
3.
frontend.php:24,27— Default<h3>tag for decorative ribbon text disrupts heading hierarchy (WCAG 1.3.1, 2.4.6)P2 Minor:
4.
frontend.php:28,40— Inner icon<i>elements lack explicitaria-hidden(defense in depth) (WCAG 1.3.1)5.
frontend.php:33,38— Empty decorative stitching divs not marked as presentational (WCAG 1.3.1)P3 Low:
6.
frontend.css.php— Noprefers-reduced-motionmedia query (WCAG 2.3.3)Files
modules/ribbon/includes/frontend.phpmodules/ribbon/ribbon.php(default tag setting)