code wiki / _hdl_build / nx_cms_a11y.nx
nx_cms_a11y.nx
buildroot/runtime/_hdl_build/nx_cms_a11y.nx
about
nx_cms_a11y.nx -- CMS ACCESSIBILITY (WCAG) auditor (the wp-accessibility class, built honestly). Static
HTML checks against a focused, citable WCAG 2.x rule set -- the kind of automated a11y gate WordPress
themes routinely fail:
R1 WCAG 3.1.1 : the document declares a language (<html ... lang=...>)
R2 WCAG 1.1.1 : every <img> carries a non-empty alt= (text alternative)
R3 WCAG 1.3.1 : heading levels are not SKIPPED (h1 -> h3 with no h2 = fail)
R4 WCAG 4.1.2 : every non-hidden <input> has an accessible name (aria-label=)
Pure functions over an HTML buffer (defensive at the boundary, rule 12). license_tier: ORIGINAL
module: nishi-core.cms.a11y
depends: nishi-core.io.syscalls
capability: CMS
dependencies 1 imports · 1 importers
imports: nx_syscalls.nx
imported by: nx_cms_a11y_gate.nx
structs
| none |
consts
| none |
functions
| 14 | func a11_slen(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} return n } |
| 17 | func a11_find(buf: *u8, from: i64, n: i64, needle: *u8) -> i64 |
| 31 | func a11_tag_end(buf: *u8, from: i64, n: i64) -> i64 |
| 38 | func a11y_has_lang(buf: *u8, n: i64) -> i64 |
| 47 | func a11_attr_nonempty(buf: *u8, from: i64, end: i64, attr: *u8) -> i64 |
| 59 | func a11y_imgs_alt(buf: *u8, n: i64) -> i64 |
| 72 | func a11y_inputs_labeled(buf: *u8, n: i64) -> i64 |
| 87 | func a11y_heading_order(buf: *u8, n: i64) -> i64 |
| 106 | func a11y_audit(buf: *u8, n: i64) -> i64 |