Part 4 explores the ValidityState API, a powerful, approachable, and well-supported API we can use to define custom validation messages.
Can our GIF-like embeds support playback controls, alternative text, and reduced motion?
Animated GIFs remain popular in spite of their beefy file sizes. But what are we supposed to use instead?
Using the native HTML disclosure widget for a burger menu is so enticing. Unfortunately, the details/summary elements come with accessibility issues, so it's not an inclusive solution.
Progressive enhancement or a great Cumulative Layout Shift metric score? Why not both?
By wrapping and enhancing HTML elements, we can provide a solid baseline experience, with progressive enhancement as the cherry on top.
One of the hidden benefits of Progressive Web Apps is that you can start right now and roll out features incrementally. We took this approach when building our own Progressive Web App last year. Our…