Note: originally published on my now defunct codepen blog. The HTML disabled attribute can be used on a limited set of HTML elements: button, input, select, textarea, option, optgroup, fieldset, or form-associated custom elements (currently supported in Chrome only) What disabled does When added to a control: <input type=”text” disabled> A user: Cannot operate or […]
The reasons why use of the placeholder attribute as the only means of providing a user readable prompt for a form control is deficient UX, are voluminous. It is frustrating having to rehash this discussion endlessly. I first wrote about placeholder back in 2011, and included a note, later a warning, about its use in […]
aria-description is the ARIA attribute you wanted, it makes adding a description (for screen reader users ONLY) so much simpler. The aria-description attribute is similar to aria-label in that both provide a flat string to associate with the element, but a label should be concise, whereas a description is intended to provide more verbose information. […]
hasPopup hasPoop
Update: 09/02/2023 – retested in latest JAWS and NVDA, no change to results reported in 2021 In theory aria-haspopup could be really useful as a hint to screen reader peeps as to what type of content will pop up when they activate a control. The Theory values for aria-haspopup Value Description false (default) Indicates the […]
A simple custom
For whatever reason some people don’t like the standard HTML checkbox and radio button, they seek to jazz ’em up and in the process the often jizz up the usability/accessibility of these controls. There are some good efforts out there to win over developers/designers to using native controls, or minimally customized controls. Here I provide […]
This article is republished here with updates as the source article can no longer be updated 🙁 In a 2018 article tables and beers I explained how browsers correctly represent table semantics of simple tables with either a row or column of headers. Thus alleviating the need to use the scope attribute to identify a […]
Know your Standards
Updated 05/04/2023 Regularly people link to or quote from some outdated version of a specification. This can be confusing and detrimental to understanding, if the information is no longer correct or relevant. Below are listed some references to Web Standards which should remain relevant and up to date for the foreseeable future. WCAG – https://www.w3.org/TR/WCAG/ […]
aria-label is one of a number of secondary methods to label native HTML UI elements. It works particularly well on interactive elements, it also works well on most block level elements old skool term that have explicitly or implicitly defined structural roles. It works less well or not at all on text level semantics. It […]
aria-roledescription is not a label It is an alternative expression of the Aural UI of the role of an element. inappropriately using aria-roledescription may inhibit users’ ability to understand or interact with an element. ARIA 1.1 The wrong way to use aria-roledescription and call out someone as a fascist: code <img aria-roledescription=”fascist” src=”dt.PNG” alt=”Donald Trump”> […]
content-visibility is a new property defined in the draft CSS Containment Module Level 2 specification. It has been implemented in Chrome 85, you can read about its glory in content-visibility: the new CSS property that boosts your rendering performance What I am interested in is how it is exposed to screen readers and other assistive […]