#accessibility-automation #accessibility-testing #web-accessibility #wcag #block #style #inline


Accessibility tree binding CSS styles and vectors to elements. Used mainly for accessibility-rs crate.

5 releases

0.0.5 Oct 23, 2023
0.0.4 Oct 19, 2023
0.0.3 Oct 19, 2023
0.0.2 Oct 13, 2023
0.0.1 Oct 8, 2023

#40 in Accessibility

Download history 197/week @ 2023-10-08 129/week @ 2023-10-15 84/week @ 2023-10-22 17/week @ 2023-10-29 4/week @ 2023-11-05 7/week @ 2023-11-12 36/week @ 2023-11-19

66 downloads per month
Used in accessibility-rs


7.5K SLoC


The Rust web accessibility engine.

// pass in html and css rules prior. If css rules are not passed in internal extraction is performed.
let audit = accessibility_rs::audit(&html, &css_rules);


  1. Accurate web accessibility audits without a headless browser.
  2. Re-creating layout trees to get element positions.
  3. Ideal shapes for audits that scale.
  4. Amazingly Fast audits.


This crate is actively being developed. Some of the initial code is set as stubs until the feature is complete. We have two params for the initial audit html and css. The reason we have css set is if coming from a browser you can get all the stylesheets from the dom of external sheets at once. This saves time in re-gathering links later.


Right now the Layout leaf parsing takes a good chunk of time. Until the parsing is done correctly this will be a crutch in performance and main bottleneck. Removing the Clip handling will drastically shave off time from the runs.


~140K SLoC