Skip to content
svelte-vitals
English
Esc
navigateopen⌘Jpreview

Accessibility

Every Accessibility rule svelte-vitals runs.

ARIA validity, landmark structure, accessible names, and semantic markup: what makes a site usable for everyone.

Rule Severity Summary
a11y/accessible-name 🟡 warning A button, link, image button, or iframe needs a way to compute its accessible name.
a11y/aria-hidden-focus 🟡 warning A keyboard-focusable element must not be hidden from assistive technology with aria-hidden=“true”.
a11y/disallowed-aria-props 🟡 warning An aria-* attribute the element’s role does not support is ignored; one the role prohibits, such as a name on a bare div, is a name that is not exposed.
a11y/disallowed-element 🟡 warning Reports every occurrence of the elements a project declares it does not want, and nothing until something is declared.
a11y/duplicate-landmark 🟡 warning A route should have at most one main, banner, and contentinfo landmark.
a11y/id-duplication 🟡 warning Every id in a route should be unique.
a11y/interactive-nesting 🟡 warning An interactive element should not sit inside another interactive element.
a11y/invalid-aria-value 🟡 warning An aria-* attribute’s value should match the type the WAI-ARIA spec defines for it.
a11y/invalid-role 🟡 warning A role attribute should name a concrete WAI-ARIA role, not a typo or an abstract role.
a11y/label-has-control 🟡 warning A label needs a for attribute or a wrapped control to be associated with the field it names.
a11y/no-accesskey 🟡 warning The accesskey attribute assigns a page-level shortcut key whose actual combination varies by browser and OS, is undiscoverable, and conflicts with assistive-technology bindings.
a11y/no-autofocus 🟡 warning autofocus moves focus on page load without the user asking, so screen reader users lose the page context they were building and keyboard users are dropped mid-page.
a11y/no-missing-id-ref 🟡 warning An id reference should point to an id that exists somewhere in the composed route.
a11y/permitted-contents 🟡 warning Every element must be permitted content of its parent, per the HTML content models.
a11y/placeholder-label-option 🟡 warning A required, single-selection select needs an empty first option so users can’t submit it unchanged.
a11y/positive-tabindex 🟡 warning A tabindex above 0 puts the element ahead of every naturally-ordered element on the page, so a single tabindex=“1” reorders keyboard navigation globally.
a11y/required-aria-props 🟡 warning A role that requires state or property attributes needs them present, unless native host semantics already supply them.
a11y/required-element 🟡 warning Every route must contain the elements a project declares, judged on the composed route, so a layout’s <main> counts.
a11y/top-level-landmark 🟡 warning A banner, main, complementary, or contentinfo landmark should not be nested inside another landmark.
a11y/unknown-aria-attribute 🟡 warning An aria-* attribute should name a real WAI-ARIA attribute, not a typo.
a11y/abbr-title 🔵 info An <abbr> without a title gives readers no expansion. Visual users get no tooltip and assistive technology has nothing to expand.
a11y/deprecated-aria 🔵 info A role or aria-* attribute ARIA 1.3 has deprecated, globally or on the role it sits on, still works today and is no longer defined there.
a11y/deprecated-attr 🔵 info An attribute the HTML spec data marks deprecated on this element has its behavior defined by legacy compatibility, not by the standard.
a11y/deprecated-element 🔵 info An element in the HTML standard’s obsolete-features list is non-conforming and has a conforming replacement.
a11y/doctype 🔵 info src/app.html should open with <!doctype html>.
a11y/no-duplicate-dt 🔵 info Within a single dl element there should not be more than one dt element for each name; a duplicated term usually means two descriptions were meant to share one dt.
a11y/pattern-title 🔵 info When an input has a pattern, the spec says authors should include a title describing the expected format; without it a failed submit tells the user only that the value is wrong.
a11y/require-datetime 🔵 info A time element’s text should be machine-readable, or a datetime attribute should supply the machine-readable value.
a11y/unverified-id-ref 🔵 info Opt-in: flags id references that cannot be verified on routes whose composition is not fully resolved.
a11y/use-list 🔵 info A bullet character typed into plain text should be a real list element instead.

See Configuration to change a rule’s severity or turn it off.