MUNKII / ACCESSIBILITY

Website accessibility findings

127.0.0.1:40067

Automated findings only. Not a full accessibility audit, certification or legal risk assessment.

Demonstration using a deliberately constructed test website.

2 pages tested; 1 untested; 7 distinct failing rules; 7 occurrences.

Scope

Initial desktop page snapshots only. Keyboard journeys, screen readers, mobile views, authenticated pages, checkout completion and third-party services were not evaluated. Best-practice and AAA-only rules are excluded. Pages with no detected violations are not certified accessible.

Detected violations

Buttons must have discernible text

Critical engine impact. WCAG 4.1.2.

A screen reader may announce a button without its purpose.

Give each button an accessible name that describes its action. Prefer visible text; for icon-only controls use a meaningful aria-label.

http://127.0.0.1:40067/broken

Selector: ['#icon']
<button id="icon"></button>
Fix any of the following:
  Element does not have inner text that is visible to screen readers
  aria-label attribute does not exist or is empty
  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
  Element has no title attribute
  Element does not have an implicit (wrapped) <label>
  Element does not have an explicit <label>
  Element's default semantics were not overridden with role="none" or role="presentation"

Rule guidance

Images must have alternative text

Critical engine impact. WCAG 1.1.1.

Screen reader users may not receive the purpose of an image.

Give meaningful images a concise, context-specific alternative. Use an empty alt attribute for purely decorative images; do not label all images identically.

http://127.0.0.1:40067/broken

Selector: ['img']
<img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Crect width='80' height='80' fill='navy'/%3E%3C/svg%3E">
Fix any of the following:
  Element does not have an alt attribute
  aria-label attribute does not exist or is empty
  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
  Element has no title attribute
  Element's default semantics were not overridden with role="none" or role="presentation"

Rule guidance

Form elements must have labels

Critical engine impact. WCAG 4.1.2.

People using assistive technology may not know what a field expects.

Associate a visible label with its input using matching for and id attributes. A placeholder alone is not a persistent label.

http://127.0.0.1:40067/broken

Selector: ['#email']
<input id="email">
Fix any of the following:
  Element does not have an implicit (wrapped) <label>
  Element does not have an explicit <label>
  aria-label attribute does not exist or is empty
  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
  Element has no title attribute
  Element has no placeholder attribute
  Element's default semantics were not overridden with role="none" or role="presentation"

Rule guidance

Elements must meet minimum color contrast ratio thresholds

Serious engine impact. WCAG 1.4.3.

Some users may struggle to distinguish text from its background.

Review each reported foreground/background pair in its actual state. Normal text generally needs 4.5:1; qualifying large text needs 3:1. Verify the specific element and applicable exceptions.

http://127.0.0.1:40067/broken

Selector: ['.low']
<p class="low">Today's menu</p>
Fix any of the following:
  Element has insufficient color contrast of 2.32 (foreground color: #aaaaaa, background color: #ffffff, font size: 15.0pt (20px), font weight: normal). Expected contrast ratio of 4.5:1

Rule guidance

<html> element must have a lang attribute

Serious engine impact. WCAG 3.1.1.

A screen reader may pronounce the page using the wrong language.

Set a valid language on the html element, matching the primary language of this page.

http://127.0.0.1:40067/broken

Selector: ['html']
<html>
Fix any of the following:
  The <html> element does not have a lang attribute

Rule guidance

Links must have discernible text

Serious engine impact. WCAG 2.4.4, 4.1.2.

A link may be announced without a useful destination or purpose.

Use meaningful link text or an accessible name. For an image-only link, name the link through appropriate alternative text.

http://127.0.0.1:40067/broken

Selector: ['a']
<a href="/fixed"><span aria-hidden="true">→</span></a>
Fix all of the following:
  Element is in tab order and does not have accessible text

Fix any of the following:
  Element does not have text that is visible to screen readers
  aria-label attribute does not exist or is empty
  aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
  Element has no title attribute

Rule guidance

All touch targets must be 24px large, or leave sufficient space

Serious engine impact. WCAG 2.5.8.

This rule identified a potential barrier in the rendered page.

Inspect the supplied selector and element against the linked rule guidance. Apply a source-code fix and re-test the affected component and related pages.

http://127.0.0.1:40067/broken

Selector: ['a']
<a href="/fixed"><span aria-hidden="true">→</span></a>
Fix any of the following:
  Target has insufficient size (17px by 24px, should be at least 24px by 24px)
  Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 17px instead of at least 24px.

Rule guidance

Requires manual review

Elements must meet minimum color contrast ratio thresholds

Serious engine impact. WCAG 1.4.3.

Some users may struggle to distinguish text from its background.

Review each reported foreground/background pair in its actual state. Normal text generally needs 4.5:1; qualifying large text needs 3:1. Verify the specific element and applicable exceptions.

http://127.0.0.1:40067/broken

Selector: ['span']
<span aria-hidden="true">→</span>
Fix any of the following:
  Element content contains only non-text characters

Rule guidance

Page coverage

Manual checks still required

Keyboard operation, meaningful alternatives, screen reader journeys, reflow, dynamic states and third-party transactions require separate evaluation.

Report review status: fixture assertions passed; sample evidence reviewed.

Download the developer checklist