Skip to content.
Adrian Roselli
Crypto Algorithm Wallet CLI

All Posts Tagged: css

Øredev 2023: Under-Engineered Patterns

Download a 2.6MB tagged PDF of my slides or try the embedded view if your browser displays PDF inline. I was invited Malmö, Sweden to present two talks at Øredev. Well, they asked me to do one but then suggested that hey, since I’m already there and stuff, how about…

Posted:

Tags: accessibility, browser, css, html, slides, speaking, usability

Styling Links and Buttons

I made a tutorial for styling links and buttons, something which many developers have struggled with (resulting in links used as buttons and buttons used as links). I have embedded it on this page, but if you are coming in with your RSS reader you can visit the tutorial directly…

Posted:

Tags: css, html, usability

An alt Decision Tree Using Only :has()

I use the CSS :has() pseudo-class to provide an interactive alt text decision tree (from the W3C WAI Tutorial) that uses no script. It is progressively enhanced, so browsers without support for :has() still get all the content. See my post Under-Engineered Dependency Questions if you want my argument why…

Posted:

Tags: accessibility, css, html, WAI

Progressively Enhanced HTML Accordion

Does what it says on the tin. Uses <details> and <summary> with a bit of ARIA to create an accordion that works without JavaScript while working better with JavaScript. Mostly. See the Pen Progressively Enhanced HTML Accordion by Adrian Roselli (@aardrian) on CodePen. Visit the standalone version for testing or…

Posted:

Tags: accessibility, ARIA, css, html, JavaScript, pattern, print, usability, UX

Under-Engineered Comboboxen?

When I wrote Under-Engineered Text Boxen in 2019 I mentioned <datalist> (WHATWG, MDN) but did not dwell on it. Partly because support was poor at the time. Once Can I Use’s <datalist> entry listed Firefox on Android supporting it in version 110, I got excited and started testing to write…

Posted:

Tags: accessibility, css, html, pattern, usability, UX

CSS-only Widgets Are Inaccessible

Usually. I originally titled this InacCSS-onlyible. I even made this typographically, er, distinct image. Then I realized it was silly and will instead use the neologism in a talk so I can hear the groans IRL. Interactive widgets powered with only CSS are relatively common as people are playing with…

Posted:

Tags: accessibility, css, usability, UX, WCAG

Web Development Advent Calendars for 2022

It’s a dice advent calendar. I have no idea how five Platonic Solids and some D10s will carry for 24 days, but I am going to find out. Web developers around the world have for years given a nod to Saturnalia solstice Isaac Newton’s birthday Yule wassailing mummering end of…

Posted:

Tags: accessibility, css, design, html, internet, standards, UX

It’s Mid-2022 and Browsers (Mostly Safari) Still Break Accessibility via Display Properties

It was late 2020 when I last tested how browsers use CSS display properties to break the semantics of elements. I had been waiting for Safari to fix how it handles display: contents for four years now, and was excited when the announcement came in June. Then I started testing…

Posted:

Tags: accessibility, browser, Chrome, css, Firefox, html, Safari, tables

A “Best viewed with…” Gag

I made some pointless things again. The First One See the Pen Best viewed in… by Adrian Roselli (@aardrian) on CodePen. A spinning box for each word is not exactly a compelling interface element, I admit, but I based it off this old tweet that was sitting around in a…

Posted:

Tags: browser, css, html

Under-Engineered Multi-Selects

Others in this sorta-series: Under-Engineered Custom Radio Buttons and Checkboxen Under-Engineered Toggles Under-Engineered Toggles Too Under-Engineered Text Boxen Under-Engineered Responsive Tables Under-Engineered Select Menus Under-Engineered Dependency Questions This post is not about <select multiple> nor a bunch of <div>s roled-up into a listbox with aria-multiselectable. Both the APG examples and…

Posted:

Tags: accessibility, css, html, pattern, usability, UX