Added
- Classless covers the remaining text-level and structural elements:
abbr[title],ins,del,dt/dd,sub/sup,captionandlegend, plus hover, focus and disabled states on unclassed buttons. .pf-revealgains--left,--rightand--zoomdirection variants — scroll-driven entrance motion, still guarded byanimation-timelinesupport andprefers-reduced-motion.themes/sudo.css— the SudoSecurity house palette: true-black ground, hairline borders, teal accent with a violet second and Inter throughout. Eleven themes ship; polyfish.org itself wears this one.- Docs site: the nav checkbox now publishes
aria-controls/aria-expandedthroughsite.js, and every<main>carriestabindex="-1"so the skip link moves focus, not just scroll position. - New post — 'Coming from Tailwind': a ten-row map from the common utility reflexes to what PolyFish does instead, and the honest list of what does not translate.
- Tooling:
verify.pynow resolvessrc,posterandsrcseton media elements and checks thatfor,aria-controls,aria-labelledby,aria-describedbyandaria-ownsland on real ids; the browser suite pins nav aria state,?s=deep links,pf-segment, the classless fill andpf-revealunder reduced motion.
Changed
- 690 public classes across twelve modules.
- Docs site:
site.cssships minified assite.min.css(70 KB → 42.6 KB), and the module size tables on/docs/installare stamped byrelease.pyfrom the files on disk — they had drifted while being hand-maintained.
Fixed
- The classless module now sits directly after Core in the layer order instead of before it.
:where()cannot lose to a later layer, so Core's reset had been erasing the unclassed button, field and table styles since the module shipped — bare<button>rendered transparent. - Examples: the palettes card's thumbnail existed only in the markup; the four immersive demos (dashboard, app-shell, docs-page, sign-in) gained a route back to the gallery, and two pages carried copy-pasted titles and descriptions.