The Siren Song of ariaNotify()

By Chris Coyier on

Mat Marquis details the good-and-dangerous of a new method which we can just make a screenreader say something. There’s a brand new ariaNotify() method — defined by the Accessible Rich Internet Applications (WAI-ARIA) 1.3 Specification — that provides you with a means of programmatically triggering narration in a screen reader. It accepts a string as its first argument, and […]

Uber for Dogs: How to Stop & Think for Design

By Chris Coyier on

Jacky Gilbertson writes about the real job of design in Uber for Dogs: How to Stop & Think for Design. It doesn’t have anything to do with pixels and colors at first; it has to do with what problem is trying to be solved, why, and for whom. Perhaps it’s an overloaded term, but design […]

Modern Web Guidance

By Chris Coyier on

Google released an AI “skill” at Google I/O last month called Modern Web Guidance. It’s essentially a folder of nested Markdown files that AI agents know how to read and use as part of their context window when they deem appropriate. This skill has a bunch of HTML/CSS/JavaScript information that guides AI to, hopefully, do […]

Prop For That

By Chris Coyier on

Adam knows better than anyone, CSS knows about the user, device, variables, layout and more. But there is a little bit of information that CSS doesn’t have. Like what’s the current value of a range input exactly? What are the exact coordinates of the mouse? It’s not hard to pass over that information to CSS […]

Implementing Standard.Site

By Chris Coyier on

If you’re on Bluesky (like this site is!), you’re using atproto. Standard.site is, as best I understand it, a userland agreed-upon schema for what certain stuff looks like on the protocol, like a “publication” and a “document”. Mat is cautiously optimistic in trying to understand it: The most obvious use case is allowing users on […]

Reduce the JS Workload with No- or Lo-JS options

By Chris Coyier on

Aaron T. Grogg has a nice page chock full of examples of UI, which used to be the sort of thing that we’d use JavaScript for, but can now be done in HTML & CSS. No hate: I have nothing against JS, but it has better things to do The examples are very modern, like […]