- Fix: give each smartSettle stage its own share of the budget (#309)
- Fix: make the a11y impact gate cumulative, skip hidden elements, and add the full check (#310)
Added
Then the page should have no accessibility violationsThen the element "main" should not violate the accessibility rule "color-contrast"Then the page should pass the full accessibility check(optionallyat level "A|AA|AAA") — axe plus every structural probe in one passThen I print the full accessibility checkWEBSHIP_STEP_TIMEOUTenv var — overrides the 45 s cucumber step timeout, which webship-js sets at load time and which atimeoutin your owncucumber.jscannot raise.
Fixed
- A smart wait on a page that never reaches network idle (analytics, chat widgets, self-rescheduling timers) no longer stalls until cucumber's step timeout. Each settle stage now gets its own share of the budget, and no stage is ever handed a zero timeout.
- The structural a11y probes skip elements hidden from assistive technology (
aria-hidden,inert,hidden,display: none,visibility: hidden), matching axe.
Behaviour change for a11y gates
The impact gate is now cumulative: no serious accessibility violations fails on serious or critical, and no minor fails on any. A page with a critical violation used to pass the serious gate. Suites that gated on serious alone get stricter on upgrade.