A blog about web development, HTML, CSS, JavaScript, and web accessibility.

My CSS wish list 2024

Following last year, I created a CSS wishlist for 2024.

Workshop: Deep Dive on Accessibility Testing

Once again, I’ve teamed up with my friends at Smashing Magazine 😻 to share with you everything I know about web accessibility testing! In this smashing workshop we’ll talk about automatic and manual testing, screen reader basics, Single Page Applications, Dev Tools, and more.

Not all automated testing tools support Shadow DOM in web components

There isn't much more to say; it's all in the title.

Many automated testing tools are a collection of JavaScript functions you run on a page. Most of those rely on querying the DOM. If a tool doesn't consider shadow trees, it only catches accessibility errors in the Light DOM, which may give you a wrong sense of safety and potentially affect your users.

Day 106: the scripting media feature

The scripting media feature is an excellent addition to CSS for those who believe in progressive enhancement: It enables you to detect whether scripting languages, such as JavaScript, are supported.

Day 105: defining multiple syntax components

As already explained on day 84, using the syntax descriptor, you can define the type of a custom property in an @property at-rule.

Removing list styles without affecting semantics.

Some people, I guess primarily developers and not actual users, don’t like the fact that Safari removes list semantics of lists that don’t look like lists (list-style: none). Scott O’Hara provided a fix in “Fixing” Lists, where he suggests setting role="list" explicitly on the list to re-add list semantics.

<ul style="list-style: none" role="list">
  <li>…</li>
</ul>

That works, but I found a way of removing list styles without affecting semantics.

Totally remdom, or How browsers zoom text

Last week, I lied to my students. After I explained how the rem unit worked, I told them that they could compare px and rem by increasing the font size in their mobile browsers and see how it affects text zoom.

Day 104: animation with registered custom properties

All major browsers except Firefox (coming soon!) support the @property at-rule. It enables you to do things you previously couldn't, like animating custom properties.

Day 103: the prefers-reduced-transparency media feature

Design trends like Glassmorphism use translucent backgrounds to create a specific visual effect, resulting in underlying background colors or elements shimmering through the background of the overlaying element. That may be visually appealing, but it can distract some people and impair legibility.

Skip links on ikea.com

I am always pleasantly surprised when I find useful skip links. That's why I decided to collect examples here on my blog.