Skip to main content
Accessibility Checker

Saksham Rule Set

Every rule Saksham checks — in the open

No black box. Below is the complete, current list of WCAG 2.1 Level A and AA success criteria Saksham evaluates on every scan, grouped by principle, with a plain-language note on exactly what "pass" means for each one.

47Automated criteria
4WCAG principles
A · AAConformance levels

Automated where it's reliable. Honest where it isn't.

Every criterion below is either fully automated and checked on every scan, or clearly flagged when human judgment is still required — like confirming live captions or reviewing genuinely borderline flash content. A rule engine you can't see the rules of isn't one you can trust, so we'd rather show you exactly where automation ends.

Showing 47 of 47 rules

Perceivable 20

  • 1.1.1 A

    Non-text Content

    All images, canvas, object/embed, image-map areas, and SVG icons have valid text alternatives or are correctly marked as decorative.

  • 1.2.1 A

    Audio-only and Video-only (Prerecorded)

    Audio-only elements have a nearby transcript link; muted video-only elements have description tracks or text alternatives.

  • 1.2.2 A

    Captions (Prerecorded)

    Every detected video element includes a caption or subtitle track.

  • 1.2.3 A Needs manual check

    Audio Description or Media Alternative (Prerecorded)

    Cross-checked alongside the stricter 1.2.5 requirement — verify prerecorded synchronized media has an audio description or full text alternative.

  • 1.2.4 AA Needs manual check

    Captions (Live)

    Live streaming video is flagged for a manual caption check — live captioning quality can't be fully automated.

  • 1.2.5 AA

    Audio Description (Prerecorded)

    Every detected video element includes an audio description track.

  • 1.3.1 A

    Info and Relationships

    Form controls have accessible labels, tables have valid header/data associations, lists contain only valid children, heading hierarchy is valid, and landmark regions are present and uniquely named.

  • 1.3.2 A

    Meaningful Sequence

    No positive tabindex values that would disrupt the natural reading order.

  • 1.3.3 A

    Sensory Characteristics

    No instructions rely solely on shape, color, or position to identify UI components.

  • 1.3.4 AA

    Orientation

    No CSS that locks the page to a single display orientation.

  • 1.3.5 AA

    Identify Input Purpose

    Personal-data input fields use valid, WHATWG-recognized autocomplete attributes.

  • 1.4.1 A

    Use of Color

    Links inside body text are distinguished from surrounding text by more than color alone.

  • 1.4.2 A

    Audio Control

    No audio or video auto-plays sound without native controls to pause or stop it.

  • 1.4.3 AA

    Contrast (Minimum)

    Every sampled text element — including placeholders, SVG text, and generated content — meets 4.5:1 (or 3:1 for large text).

  • 1.4.4 AA

    Resize Text

    Zoom isn't blocked, and no fixed-height containers clip text when it's resized to 200%.

  • 1.4.5 AA

    Images of Text

    No inline images in text content are suspected of being images of text.

  • 1.4.10 AA

    Reflow

    No horizontal scrolling required — no fixed-width elements wider than 320px or wide unwrapped text blocks.

  • 1.4.11 AA

    Non-text Contrast

    Form borders, buttons, custom widgets, and meaningful icons meet the required contrast against their background.

  • 1.4.12 AA

    Text Spacing

    No fixed-height text containers would clip content when spacing is increased to the WCAG text-spacing values.

  • 1.4.13 AA

    Content on Hover or Focus

    No title-attribute tooltips on non-form elements that would be dismissible or hoverable only.

Operable 17

  • 2.1.1 A

    Keyboard

    No clickable non-interactive elements, nested interactive controls, or scrollable regions lacking a keyboard focus mechanism.

  • 2.1.2 A

    No Keyboard Trap

    No visible dialogs lack a keyboard-accessible close mechanism.

  • 2.1.4 A

    Character Key Shortcuts

    No accesskey attributes that would create conflicting single-character shortcuts.

  • 2.2.1 A

    Timing Adjustable

    No meta-refresh or inline-script patterns suggesting an unadjustable session timeout.

  • 2.2.2 A

    Pause, Stop, Hide

    No marquee/blink elements, autoplaying carousels, or infinite CSS animations without a pause control or reduced-motion support.

  • 2.3.1 A Needs manual check

    Three Flashes or Below Threshold

    Fast-cycling animations or GIFs that could flash 3+ times per second are flagged for a manual confirmation.

  • 2.4.1 A

    Bypass Blocks

    A focusable skip-navigation link is present, targets a real element, and is reachable first in the tab order or via :focus.

  • 2.4.2 A

    Page Titled

    The page has a descriptive, non-generic <title>.

  • 2.4.3 A

    Focus Order

    No focusable elements are invisible while still in the tab order, and no CSS order property silently reorders focus away from the DOM sequence.

  • 2.4.4 A

    Link Purpose (In Context)

    Every link has an accessible name, and none rely on vague text like "click here".

  • 2.4.5 AA

    Multiple Ways

    At least one secondary way to find a page — search, breadcrumbs, sitemap, or related links — is present.

  • 2.4.6 AA

    Headings and Labels

    The page has headings, exactly one h1, and every heading contains descriptive text.

  • 2.4.7 AA

    Focus Visible

    Every focusable element has a visible focus indicator — native or a compliant custom one — with sufficient (≥3:1) contrast.

  • 2.5.1 A

    Pointer Gestures

    No gesture-only interactions, and no carousels or sliders lacking single-pointer controls.

  • 2.5.2 A

    Pointer Cancellation

    No custom controls trigger substantive actions on the pointer-down event instead of pointer-up.

  • 2.5.3 A

    Label in Name

    Every element with an aria-label has its visible text label included in the accessible name.

  • 2.5.4 A

    Motion Actuation

    No device-motion or device-orientation event handlers are required to operate the page.

Understandable 7

  • 3.1.1 A

    Language of Page

    The <html> element declares a valid, recognized language.

  • 3.1.2 AA

    Language of Parts

    No elements have empty or invalid language attributes.

  • 3.2.1 A

    On Focus

    No onfocus handler triggers an automatic navigation or context change.

  • 3.2.2 A

    On Input

    No select, radio, or checkbox onchange handler triggers automatic navigation or submission.

  • 3.3.1 A

    Error Identification

    Required fields reference their error-message containers via aria-describedby.

  • 3.3.2 A

    Labels or Instructions

    Required fields are visually marked, and no empty, orphaned, duplicate, or mismatched labels were found.

  • 3.3.3 AA

    Error Suggestion

    Inputs with pattern constraints explain the required format via title or aria-describedby.

Robust 3

  • 4.1.1 A

    Parsing

    No duplicate id attributes anywhere in the DOM.

  • 4.1.2 A

    Name, Role, Value

    Custom controls use valid ARIA roles and attributes, iframes are named, and regions have unique accessible names.

  • 4.1.3 AA

    Status Messages

    Toast, alert, and notification elements use a live-region role so assistive tech announces them without a focus change.

Ready?

See these rules run on your own pages

Create your free account and run your first scan in under a minute.