CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl-labs/web-accessibility-essentials

Web accessibility from the start — always apply semantic HTML, form labels, ARIA attributes, keyboard navigation, live regions, alt text, and heading hierarchy when building any UI component

93

1.24x
Quality

90%

Does it follow best practices?

Impact

98%

1.24x

Average score across 5 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

criteria.jsonevals/scenario-3/

{
  "context": "Tests whether the agent proactively uses ARIA live regions, role=alert, and accessible controls when building a toast notification system. The task describes only visual and behavioral requirements with no mention of accessibility, ARIA, or screen readers.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Live region for success/info toasts",
      "description": "Success and info toast notifications use aria-live=\"polite\" or role=\"status\" so screen readers announce them when they appear.",
      "max_score": 20
    },
    {
      "name": "role=alert for error toasts",
      "description": "Error toast notifications use role=\"alert\" (or aria-live=\"assertive\") so screen readers immediately announce error messages.",
      "max_score": 20
    },
    {
      "name": "Close button is a semantic button",
      "description": "The close/dismiss button on each toast uses a <button> element, not a <div> or <span> with a click handler.",
      "max_score": 16
    },
    {
      "name": "Close button has accessible label",
      "description": "The close button has an accessible name -- either visible text or aria-label like 'Dismiss notification' or 'Close'. Not just a bare X icon with no label.",
      "max_score": 16
    },
    {
      "name": "Decorative icons use aria-hidden",
      "description": "The status icons (checkmark, warning, info) have aria-hidden=\"true\" since they are decorative and the toast type is already conveyed by the message text and role.",
      "max_score": 14
    },
    {
      "name": "Focus visible on close button",
      "description": "The close button has visible focus indicators. The CSS does not set outline:none on the button without providing a :focus-visible replacement style.",
      "max_score": 14
    }
  ]
}

evals

tile.json