All blogs / Frontend / CSS / browsers
Eric Bailey
Accessibility advocate, writer, developer, and speaker
- Posts
- 191 from 30 Oct 2015 to 20 Oct 2026
- Posting
- monthly (13 in the last year)
- Kind
- personal blog
- Feed
- https://ericwbailey.website/feed/feed.xml
2026 12
- The Accessibility Compat Data project has a homepage now, and you should support the project
- GitHub repository landing pages now show an accessibility tab, if provided
- CSS-Tricks could be a co-op
- A proposal for new Netflix content rating icons
- Here’s yet another metaphor about tech debt
- The case for an accessibility designer vibe coding when all his coworkers are also vibe coding
- Announcing What Can’t I Press?
- Evolved antennas, LLM-generated code, and a potential antifuture
- A compelling title that is cryptic enough to get you to take action on it
- Here’s how to instruct a LLM to reference the ARIA Authoring Practices Guide
- You probably shouldn’t be annotating focus order
- How an accessibility designer adds keyboard shortcuts to a web app
2025 11
- Evaluating Fable’s pay-per-project offering
- On inclusive personas and inclusive user research
- Newsletters that regularly hit my inbox these days
- You MUST listen to RFC 2119
- Quality is a trap
- Organizing a design system via folksonomy
- Article pitch for your consideration
- Tag, you’re it
- Harm reduction principles for digital accessibility practitioners
- Evaluating overlay-adjacent accessibility products
- Stanislav Petrov
2024 20
- GitHub’s updated Commits page and the interactive list component
- Don’t forget to localize your icons
- Heading elements have been added to Project board views to improve screen reader page navigation
- Accessibility preference settings, information architecture, and internalized ableism
- a11y-syntax-highlighting has been updated
- Basic keyboard shortcut support for focused links
- These three links spell out a big uh oh for where things are headed when placed in context with each other
- Dungeons & Dragons taught me how to write alt text
- Short note: Disavowing Snake People 3.0: Slither with a Hiss
- Free idea: design token ugly mode
- Consent, LLM scrapers, and poisoning the well
- Workplace discrimination: another terrible thing Windows Recall might enable
- Multipage Version Zine, Issue 1
- <code>contrast-color()</code> is a good thing, but also solving the problem at the wrong layer
- I love my slightly smart tiny TV
- Invisible success
- A perceived contradiction to internalize when working on design systems
- Thoughts on embedding alternative text metadata into images
- On Jakob Nielsen, AI hype, and accessibility
- Oh shit banners
2023 19
- I restyled my Mastodon instance
- Accessibility annotation kits only annotate
- Websites, politics, and preferences
- Zombie Slack channels
- Websites are like bridges
- GitHub now has a setting to underline links
- Equivalent experience can cut both ways
- Use of the design system should factor into promotion packets
- Formative posts
- My jeans’ metadata may outlive the company that sold them
- The five types of people who produce inaccessible code
- <code>display: contents</code> considered harmful
- Global Accessibility Anger Day
- Don’t use custom CSS scrollbars
- Sandcastles
- Sabbath mode and assistive technology features
- I doubled-down on RSS
- My Mastodon strategy
- Modern Health, frameworks, performance, and harm
2022 20
- Centerless
- Swearing and automatic captions
- <code>aria-label</code> is a code smell
- Yes, accessibility is also a backend concern
- Visit for a surprise
- Re: Selling your extension
- Dot website
- Saying thank you
- The case for null in design systems
- Where do you start measuring distance from when the origin is the bottom of a block of text?
- The optics of pair programming
- All the user-facing states
- #WorstWorkWednesday
- It needs to map back to a role
- The case for adding validation state to your design tokens
- Comic Sans is a good typeface, actually
- Tribble
- Maralinga bomb test
- “Evergreen” Does Not Mean Immediately Available
- I’ve had enough! When access friction becomes an access barrier
2021 41
- Chinese rooms, wasps, slime molds, and the problem of other minds
- Where do you put spacing on design system components?
- Test Your Product on a Crappy Laptop
- Your CSS is an interface
- The endless search for “here” in the unhelpful “click here” button
- Spear phishing with Slackbot for fun and profit
- Insulin dump
- Published
- thoughtbot.com, dark mode, and other user preferences
- What they don’t tell you when you translate your app
- Forbidden noodles
- accessiBe and the false David vs. Goliath narrative
- A bad accessibility trend I’ve noticed
- Ham biscuit on
- Organize your CSS declarations alphabetically
- The lawnmower button
- Modifications we’ve made to the Design Sprint
- Don’t use custom CSS mouse cursors
- How I grew The A11Y Project to 10k followers on Twitter
- How I grew The A11Y Project to 10k followers on Twitter
- Listing posts in Eleventy when you publish offsite
- To subset or not subset fonts
- CSS is a Strongly Typed Language
- Mobile Accessibility: How to Build Apps that Work for All Users
- How to make an ineffective 404 page
- Myth: Alternate text and automation
- Minor version bump
- A conversation can be an output
- Should I use an accessibility overlay
- Give me a definition for the word dashboard
- An Introduction to macOS Voice Control
- Implicit cultural norms and accessible social media
- How 3 hours of conversation saved a company hundreds of thousands of dollars
- My typical day
- Accessibility auditing and ego
- Blogroll
- Presentation panic
- How-to: Use the tabindex attribute
- An introduction to macOS Head Pointer
- Open UI and implicit parent/child relationships in HTML
- Undercover Founder
2020 21
- A website is like a puppy
- In defense of Mega Man boss lairs
- Representation Matters
- So you wanna create an eco-friendly website
- Using a folder other than <code>posts/</code> with Eleventy
- Tailwind versus BEM
- Focus Management and Inert
- Saying no to Diez (for now)
- Consider the Tomato
- The Radium Craze
- a11y is web accessibility
- The world does not revolve around your product
- Mug handles
- Improving the usability and accessibility of a healthcare website by being mindful of reading level
- I don’t want your job
- A Complete Guide to CSS Functions
- Myth: ARIA Has Perfect Support
- SVG, Favicons, and All the Fun Things We Can Do With Them
- How to not make a résumé in React
- Using personas in the Product Design Sprint
- Operating System and Browser Accessibility Display Modes
2019 14
- What the Web Still Is
- Tech metaphors
- Truths about digital accessibility
- Attempting to corral colors with a Sass function
- ARIA is Spackle, Not Rebar
- Universal Design: 11 Practical Tips to Make Your Sites and Apps More Accessible
- Lighthouse
- Fighting uphill
- Revisiting prefers-reduced-motion, the reduced motion media query
- An Introduction to the Reduced Motion Media Query
- slashbot
- Paint the Picture, Not the Frame: How Browsers Provide Everything Users Need
- Little Library
- Reader Mode: The Button to Beat
2018 10
- Web components still need to be accessible
- Be the Villain
- Quick test: Large touch targets
- A designer developing for Android
- Quick Tip: Use the “lang” Attribute for Better Accessibility
- The Importance of Heading Levels for Assistive Technology
- The possibilities of the color-adjust property
- How to Lead Better User Interviews
- Focusing on Focus Styles
- Building a Good Download… Button?
2017 9
- How to build a cloud-hosted accessibility testing Windows computer using Amazon WorkSpaces
- How accessible is your website for the disabled? Consider doing an audit to find out
- Consistently Inconsistent: The Pitfalls of Abandoning External Consistency
- Keeping track of letter-spacing, some guidelines
- Equifax Data Breach, Credit Freezes, and Beholden Design
- Make technology work for you, not the other way around
- Let’s Talk About Speech CSS
- Crafting a chatbot people will use: Part 2
- Crafting a chatbot people will use: Part 1
2016 7
- Improving the User Experience of IoT Firmware Updates
- Building a better button in CSS
- Accessible SVGs in High Contrast Mode
- Instituting a culture of accessibility in your organization: Part 2
- Organizational buy-in on Responsive Design
- Instituting a culture of accessibility in your organization: Part 1
- Battery Status API: We need to talk