#audit #web #web-page #html #engine #web-accessibility

accessibility-rs

Web accessibility engine for Rust

61 releases

0.0.62 Mar 29, 2024
0.0.61 Mar 29, 2024
0.0.46 Feb 15, 2024
0.0.44 Oct 23, 2023

#26 in Accessibility

Download history 1/week @ 2023-12-24 87/week @ 2024-02-04 144/week @ 2024-02-11 167/week @ 2024-02-18 300/week @ 2024-02-25 87/week @ 2024-03-03 107/week @ 2024-03-10 932/week @ 2024-03-17 655/week @ 2024-03-24 164/week @ 2024-03-31 8/week @ 2024-04-07

1,761 downloads per month

MIT/Apache

580KB
9K SLoC

Audit html to see how it complies with WCAG standards.

accessibility-rs is a web accessibility engine that can replicate websites without a browser to get complex accessibility reports.

How to use accessibility-rs

There are a couple of ways to use accessibility-rs:

  • Audit perform an audit against an html page.
    • audit is used to audit a web page for issues.

Examples

A basic WCAG audit for a website:

use accessibility_rs::{audit, AuditConfig};

#[cfg(not(feature = "tokio"))]
fn main() {
    let config = AuditConfig::basic(r###"<html><body><h1>My Title</h1><input type="text" placeholder="Type me"></input><img src="tabby_cat.png"></img></body></html>"###);
    let audit = audit(config);
    println!("{:?}", audit);
}

#[cfg(all(feature = "tokio", not(feature = "spider")))]
#[tokio::main]
async fn main() {
    let config = AuditConfig::basic(r###"<html><body><h1>My Title</h1><input type="text" placeholder="Type me"></input><img src="tabby_cat.png"></img></body></html>"###);
    let audit = audit(config).await;
    println!("{:?}", audit);
}

#[cfg(feature = "spider")]
#[tokio::main]
async fn main() {
    let mut config = AuditConfig::default();
    config.url = "https://example.com".into();
    let audit = audit(config).await;
    println!("{:?}", audit);
}

Dependencies

~13–35MB
~552K SLoC