v0.0.125
Released Oct 21, 2026
Release Notes
Fixes for false accessibility failures: on themes that hide a no-JavaScript fallback once scripts run, and on hidden <select> elements.
Fixed
- The accessibility checks that skip hidden controls (
a11y/form-labels,a11y/aria-input-field-name,a11y/select-name,a11y/aria-labels,a11y/aria-command-name,a11y/aria-dialog-name,a11y/button-nameanda11y/aria-hidden-focus) now report a control they would have decided was shown (an unnamed control, or a focusable one insidearia-hidden) as unconfirmed, not as a failure, when it or an ancestor other than<html>or<body>has ano-jsclass and squirrel could not read all of the page's styles (for example, an external stylesheet or an@import). Themes may hide such a fallback once JavaScript runs, with a rule like.js .no-js { display: none }in a stylesheet squirrel does not read. Items unconfirmed this way say so:it or an ancestor carries a no-js class, and a stylesheet squirrel did not read may hide it when JavaScript runs. A page whose styles were all read, a control with no such class, another class such asno-js-fallback, and ano-jsclass on<html>itself keep their verdict. See a11y/form-labels. a11y/select-namenow reads which selects are out of the accessibility tree the way the other naming checks do. An unnamed select that thehiddenattribute,aria-hidden="true", a closed dialog, or adisplay: nonesquirrel can settle (inline or in a page<style>rule) keeps hidden is no longer reported. One a style may hide, ano-jsfallback on a page with unread styles included, is reported asselect-name-unconfirmed(a warning) instead of a failure. An unnamed select squirrel reads as shown still fails, and one hidden only by an external stylesheet is still reported. See a11y/select-name.
Update to this version
squirrelscan will auto-update, or run this command to update now:
$