ility-core
The rule engine behind Ility.
ility-core is a declarative web-quality rule engine. 132 rules, written in YAML anyone can read, check accessibility, site health, SEO, usability, and HTML against the real page rendered in Chromium.
TypeScript · Playwright and Chromium · Open-source release planned under Apache 2.0
rule:
id: image-alt-decorative
domain: [accessibility]
standards:
wcag:
- criterion: "1.1.1"
level: A
en_301_549:
- criterion: "9.1.1.1"
section_508: true
severity: serious
selector: "img[role='presentation'], img[aria-hidden='true']"
check:
type: presence
target: alt
conditions:
- must_exist: true
- must_equal: ""
title: Decorative images must use empty alt text
remediation:
bad: '<img src="divider.png" role="presentation">'
good: '<img src="divider.png" role="presentation" alt="">'
Accessibility rules you can read, check, and trust.
Rules anyone can read
Each rule is a short YAML file: what it checks, why it matters, the WCAG, EN 301 549, and Section 508 references, and a bad, and good example of the fix.
Honest outcomes
A check that couldn't decide says so. Rules that didn't run are reported as not run, never counted as passes, so coverage is never overstated.
Checks the real page
Rules run against the page as a browser renders it, including computed checks such as color contrast and focus styles.
132 rules across five quality domains.
Accessibility leads. The same engine checks the rest of your site's quality.
Accessibility: 100 rules
ARIA, color, forms, headings, images, keyboard, language, links, media, navigation, structure, and tables.
Site health: 20 rules
Page responses, broken links and resources, redirect loops, mixed content, blank pages, and placeholder text.
SEO: six rules
The page signals search engines and AI answers rely on.
Usability and HTML: six rules
Usability basics and valid, well-formed markup.
ility-core and Ility
The engine finds the problems. Ility manages the work.
ility-core loads the rules, checks a page, and reports what it found, with evidence for every finding.
It's deliberately small.
The Ility platform does everything around it: crawling your whole website, scheduling scans, grouping findings into patterns, managing remediation, and keeping the history.
Anyone can see how an issue was detected, without needing access to Ility.
See ility-core at work in Ility.
Join the Beta to run ility-core across your whole website, with the platform that turns findings into progress.
Beta interest only. No payment or subscription required.