bbioonThemes
  • Home
  • Blog

Tag: Accessibility

Development, Gutenberg

WordPress E2E tests with Playwright and wp-env

Manual regression testing was my bottleneck, so I automated it. This covers wp-env setup, Playwright with the WordPress test utils, and testing block variations and meta bindings without clicking through the editor.

Read Article
Design, Development, Front-end

Using the CSS contrast() filter in WordPress themes

Notes on using the CSS contrast() filter in WordPress themes: how the RGB math works, why it beats a black overlay on hero images, a 125% hover fix for washed out product cards, and where filters get expensive.

Read Article
Development, Front-end

The CSS hypot function: distance math without JavaScript

CSS has a hypot() function that does Pythagorean distance math and, unlike pow(), accepts units like px and rem. I cover what it returns, a cursor-proximity example using container style queries, and the edge cases worth knowing.

Read Article
Development, Front-end

Fixed-height cards break the moment content changes

Fixed-height cards look tidy in a mockup and fall apart when an editor doubles the copy or a translation runs long. I go through what breaks, and how Flexbox and intrinsic sizing hold the same grid together without hard-coded heights.

Read Article
Accessibility, Development, Front-end

Streaming content interfaces that don’t fight the user

Appending text to a container is the easy part. This post covers the scroll flag that stops snap-back, batching renders to keep layout shift down, ARIA live regions for screen readers, and cleaning up after a broken stream.

Read Article
Accessibility, Design, Front-end

CSS contrast-color(): let the browser pick readable text

The CSS contrast-color() function returns black or white text for whatever background color a user picks. How the syntax works, why the @supports fallback still matters, and the cases it does not cover.

Read Article
Accessibility, Design, Front-end

Streaming UI stability: fixing scroll jumps and layout shifts

Streaming interfaces jump around and drag the scrollbar back to the bottom. What fixes it: tracking whether the user scrolled away, batching renders into the animation frame, and marking the container up as an ARIA log region.

Read Article
Development, Front-end

Polyfilling the ::nth-letter selector with a JavaScript shim

The ::nth-letter selector still is not in any browser, and hand-wrapping every character in a span wrecks the DOM. A shim that rewrites the raw CSS into :nth-child and lets SplitText handle the markup and the ARIA.

Read Article
Accessibility, AI in WordPress, Design, Development

Why production-ready prototyping keeps breaking sites

Recruiters now expect designers to ship production code out of AI agents. Here is what that costs in practice: toggles no screen reader can see, XSS holes in generated forms, duplicated code, and engineers spending more time per pull request cleaning up after it.

Read Article
Accessibility

Session timeout accessibility, and who it locks out

A 15-minute session with no warning is a wall for anyone who needs longer to fill in a form. What WCAG 2.2.1 asks for, why the auth_cookie_expiration filter on its own is not enough, and how I handle warnings and auto-save.

Read Article

Posts navigation

Previous 1 2 3 … 10 Next

bbioonThemes

Senior WordPress Engineer
Toptal & Codeable Expert

Connect

  • GitHub
  • Twitter
  • LinkedIn
  • Codeable

Explore

  • Expertise
  • Work
  • Insights
  • Blog

Resources

  • bbioonThemes
  • Contact
  • Privacy Policy
© 2026 bbioonThemes. All rights reserved.
Privacy