Skip to content.
Adrian Roselli
AI-Powered Monetization System IPA

All Posts Tagged:

Level-Setting Heading Levels

TL;DR: Avoid setting heading levels greater than six (6). This applies whether using aria-level or the proposed headingstart HTML attribute. Use HTML <h#> elements whenever possible. ARIA The aria-level attribute, when applied to headings (or nodes with the heading role) lets authors set an integer value for a heading level.…


Tags: accessibility, ARIA, Chrome, Firefox, html, Safari, standards, W3C

A Brief Note on Highlighted Text

TL;DR: If you plan to style text highlighted by the browser, you must give it sufficient contrast — 3:1 for the highlight block against its background and (probably) 4.5:1 for the text within that highlighted block against that background. CSS Context CSS provides methods to style the highlights that browsers…


Tags: accessibility, css, usability

What You Can Do as a Web Builder on Earth Day

One easy thing you can do for the earth is not use “AI” tools. Consider this as a programmer, web developer, web designer, copywriter, webmaster, etc. The tools include anything branded as generative AI, LLMs, computer vision tools, Copilot, ChatGPT, Bard, Grok, Dall-e, Midjourney, and so on. If you are…


Tags: rant

Long Alt

TL;DR: Keep your image alternative text brief, devoid of special characters, empty of URLs, and ideally in one language. Here We Go Sometimes you can have too much alternative text, particularly for an <img>. I don’t mean there is a limit to what is allowed, I mean there is a…


Tags: accessibility, browser, html, rant, standards, usability, UX


Download a 4.4MB tagged PDF of my slides or try the embedded view if your browser displays PDF inline. The text in the slides is set in Atkinson Hyperlegible. The outdoor images are generated from Midjourney. The PDF is exported from PowerPoint, after confirming reading order and alternative text and…


Tags: accessibility, slides, standards, W3C, WCAG

Web Turns 35, Seems Popular

The world wide web has officially lasted 35 consecutive years, which means it’s catching up to its parent, the Internet, which itself is bearing down on 55. That’s an important distinction. The Internet is not the web; it is the foundation on which the web was born. Prior Years For…


Tags: browser, html, W3C, WAI

Jakob Has Jumped the Shark

Yes, that is the bear from Jakob’s clearly spurious alternative text example and yes, that is The Fonz after jumping the shark. If you have been following the saga of Jakob Nielsen, there a few quotes I could use here: Battle not with monsters, lest ye become a monster (Nietzsche).…


Tags: accessibility, rant, usability, UX

Check-All / Expand-All Controls

Controls that can operate other controls in bulk are not new. One common example is a single checkbox that allows you to check or uncheck a group of checkboxes. Another example is a single button that lets you expand or collapse a set of disclosure widgets. When the user operates…


Tags: html, standards, UX

Techniques to Break Words

Photo by studio tdes. Used under CC BY 2.0 Deed. Image cropped and contrast enhanced. A few days ago Benjy Stanton asked about breaking long words in tables. I offered a suggestion, which may or may not have worked. I never asked. My failure to follow up aside, it reminded…


Tags: css, design, html

My WebAIM 10th SR User Survey Takeaways

A rambling collection of thoughts from reading through the WebAIM Screen Reader User Survey #10 Results. Most of this was in a Masto thread, but I opted to post it here so I can laugh at myself later. Disability This opening nugget is important for understanding some of my commentary:…


Tags: accessibility, rant, usability, UX

ARIA `note`

Trying Markdown code indicators in my post title, not because I want it to convert, but because I am curious if people will ping me to tell me it broke their RSS readers. Oh, and so it converts to code when pasted into your GitHub issues. ARIA note Role A…


Tags: accessibility, ARIA, standards