Accessibility is the practice of designing so that people with disabilities can have equal access to information and functionality, applicable to both websites as well as physical environments.
In keeping with the IndieWeb principles that "UX and design is more important than protocols, formats, data models, schema etc.", it's important to make sure that one's site is inclusively "human readable" by as many people as possible.
While designers may create for themselves in pristine and ideal environments, readers using other devices/hardware in harsher environments or who may have various visual, auditory, or other deficits may not be able to access their content easily or at all.
Accessibility is focused on removing barriers to enable broad access to tools, information, and community. With that in mind, it's worth remembering to consider the following, regardless of whether you are working in physical or digital spaces:
- Visual: People with blindness or low vision may rely on alternative senses, most commonly auditory and/or touch, to access information and navigate the world; colour-blindness and various other vision impairments mean that colour and contrast must be considered carefully.
- Auditory/Hearing: People who are deaf or hard of hearing may need alternative methods to access audio or verbal information, and may miss purely audio-related cues or alerts.
- Motor Control: Many people are unable to use specific input methods. Some people lack the fine motor control needed to use computer mice, whilst others may be able to use them but only slowly. Others struggle with the precision of touch inputs, particularly on smaller mobile interfaces. Consider response times and support a variety of input methods.
- Cognitive Disabilities: Mental illnesses and cognitive conditions can be triggered by certain stimuli, such as animations or loud noises. Appropriate warnings and overrides should be provided as necessary.
- Neurodiversity: A large percentage of the population live with some form of learning disability or neurodivergence, which can cause distractibility, inability to remember, or make it harder to focus on large amounts of information.
- IndieWebCamp Bellingham 2017 had an accessibility notice about wheelchair access on day 1 under the "Where" subheading.
- IndieWebCamp London 2020 has an "Accessibility" subheading with information on wheelchair access, childcare, quiet/nursing rooms, gender-neutral toilets.
- Guidelines for Visualizing Links - TLDR; only underline links
- On link underlines - TL;DR: In general, I recommend underlining links in body content. In the absence of a better style appropriate for a specific site, this is the way to go.
Color and Contrast
Kevin Marks has written an interesting article on How the Web Became Unreadable which discusses some interesting accessibility issues that lead to many users having difficulty seeing material on websites.
The article includes some interesting examples and tools which may help others:
- Color and Contrast chart
- Lea Verou's Contrast Ratio tool
- Color Contrast Checker
- WCAG Contrast checker Firefox Extension
- Contrast Rebellion gives some great motivation why contrast is important
When making the contrast of text and other visual elements lower, designers need to consider the experience of the following:
- elderly users or those with bad vision
- low quality monitors
- bad lighting and glare
- reading on tiny screens
Text can be a tricky balancing act. Whilst most assistive technologies deal with text well, the content is naturally quite personal. Everything from local linguistic quirks to how text is formatted can be important for authorial intent and honesty, but it can also make it harder to access for certain people.
It is best to be most considerate when writing for a broad audience – for example, with technical documentation or introductory guides.
There are many ways to increase how easy a section of text is to read. Simplifying the language you use by replacing or explaining technical words or niche phrasing helps a lot for people with various cognitive disabilities. It also makes content more accessible to non-native speakers.
Shortening sentences often helps those with learning disabilities, like dyslexia. That can also benefit people with ADHD or other neurodivergences who can be easily distracted or lose focus.
Plain text (or plain language) is a style of writing designed to reduce barriers to information and content. It uses an everyday vocabulary, short sentences, and a simplified grammatical structure to ensure text is as easy to understand as possible, to the widest audience.
You can see a full example of an article translated into plain text here: What makes writing more readable?
Excerpt from the above before translation:
The benefits of plain language aren’t limited to universally challenging texts like legal documents and tax forms. Even everyday writing, like news articles, can still pose a barrier for some readers.
And the same passage translated to plain text:
Some kinds of writing are hard for everyone to read, like tax forms. But everyday writing, like the news, can be hard to read too.
In general, sans-serif fonts tend to be easier to read:
"It has been found that sans-serif fonts improve readability for people with reading/learning difficulties like Dyslexia http://dyslexiahelp.umich.edu/sites/default/files/good_fonts_for_dyslexia_study.pdf @mmatuzo" @LeonieWatson October 9, 2019 source
There are also "hyper legible" fonts specifically designed to help low vision readers, such as Atkinson Hyperlegible, which is freely available for use from the Braille Institute. Some research has suggested that these may also have benefits for people with dyslexia, though more study is needed.
People will often struggle to read particularly long or wide lines of text. In general, somewhere between 60 and 75 characters is considered the upper limit, but smaller can be better for those with certain learning disabilities.
- See additional research with more nuanced outcomes: 2021-11-08 : Line length revisited: following the research (archived)
- And IndieWeb research on their personal site by capjamesg: Fixing a line width issue on this blog
In CSS, line length can be limited using font-relative units such as
em. A common pattern is to set the main content of an article to around
60ch: Limit line length to increase readability
Images are inherently visual content, so providing text-based descriptions can be extremely useful.
On websites, this "alternative text" (frequently referred to as "alt text" and provided in HTML via the
alt property) can then be used by assistive technologies such as screenreaders, converting an image into an audio description or a braille readout.
Usefully, browsers will also expose the alt text if an image fails to load, providing a graceful fallback even for sighted users.
In printed media, descriptions are most often presented as captions, typically to one side or beneath an image.
For more specific best practices, further reading, and IndieWeb examples, see: alt text
Video & Audio Content
Much like with images, video and audio content can be made accessible to many more people by providing a text alternative.
Podcasts, are, by nature, designed for the blind and the visually impaired because they are audio experiences.
Video content should be captioned, particularly for speech. Text can be overlaid to appear as the video plays, preferably so that the words on-screen mirror what someone can hear.
Some tools will bake captions directly into the video file, either by saving them onto the frames themselves, or by providing the necessary metadata for video players to dynamically render the text as an overlay on top of the video. The latter is generally considered better, as it allows users to alter font and colour, as well as providing assistive technology and localisation tools with an effective transcript that can be translated into whatever the user needs.
Apart from speech, it is often useful to caption important sound effects, the emotionality of music (e.g. "sad music begins playing"), or even the absence of sound entirely ("[silence]"), so that context is not lost.
Captions allow the hard-of-hearing and deaf users to access otherwise meaningless content, but they also benefit people watching videos in noisy environments – such as during a commute – or if they lack sounds for other reasons, e.g. a broken speaker.
For purely audio-based content, such as podcasts, providing a text transcript is necessary to allow access to deaf and hard-of-hearing users.
Transcripts should contain all spoken language within an audio clip, as well as any additional context like sound effects and who is currently talking. Providing timestamps can be beneficial, depending on how the audio is being used.
As mentioned above, well-formatted closed captions can often double up as transcripts, particularly if timestamps are included. However, it is still beneficial to provide a transcript in text format (rather than purely as captions on a video), so that users can effectively read through a video. This has been shown to help people who retain visual sources better than auditory ones, and can significantly help people with various learning disabilities. On sites like YouTube, this can be achieved by adding a transcript to the description beneath a video.
It can also be beneficial for video content to provide descriptive transcripts, preferably within the speech transcript. These include key details about what's happening on-screen, in the same way that descriptive text works with images. For example:
[00:00] Description: The keynote speaker, Steve Jobs, walks onto a stage looking confident, wearing their trademark black turtleneck and jeans. A slide appears that reads "Introducing". Steve smiles.
[00:10] "[Steve] Welcome to this year's event!"
[00:25] "We've got some exciting news for you today."
See also: transcript
Animations & Sound Design
Animations can be triggering for certain cognitive disorders, leaving people feeling ill, dizzy, or even in pain. They are also distracting, meaning that people with ADHD or other disorders who may easily lose focus or attention can struggle to ignore them. Particularly quick or strobing motion may even trigger seizures.
Similarly, sound design (sound effects or background music) can cause people to lose their train of thought, struggle to focus on text or imagery in front of them, or – if particularly loud and sudden – be a trigger for PTSD and other mental illnesses. When poorly implemented, sound effects can also leave people confused or unsure of what has happened, resulting in anxiety and stress.
As a result, the general rule of thumb is to use animations and sound design sparingly and only where its purpose is clear. For example, having a button make a reassuring "click" when pressed provides meaningful auditory feedback and may even improve the accessibility of a user interface.
That said, it is always best to provide people with clear options to disable animations and mute sound effects. Where possible, using predefined settings, such as OS-level preferences, is also considered a good practice.
Remember those with disabilities when setting up event spaces.
- This is something that came to mind while planning IWC Bellingham and some of the event space is not wheelchair accessible. I'm researching and considering how to best advertise that clearly to potential attendees. gRegor Morrill
Event accessibility statement examples:
- Beyond Tellerrand Terms of Service: Accessibility heading
Please contact us, if you want to attend at workshops or the conference and have any special requirements such as access for wheelchairs. We will do our very best to accommodate you.
- Beyond Tellerrand Accessibility:
On this page you can find the accessibility information for the venues and this website.
- Beyond Tellerrand Accessibility:
- Appears to be primarily software-related, but haven't gone through all the links yet
- https://twitter.com/ellenfromnowon/status/846010218404306946 Ellen Murray's Twitter thread about accessibility information disabled people are looking for on event websites
In recent years a number of companies have released (normally paid-for) accessibility "plugins" that claim to be able to make websites accessible and/or meet specific WCAG or ADA compliance levels.
Accessibility overlays are typically marketed as "one-click installs" or "quick fixes" that can solve all accessibility concerns. However, in practice, they have routinely been found to _decrease_ the accessibility of a given site or page, and the companies behind them are frequently caught up in controversies.
Common concerns include:
- Being too focused on legal compliance, rather than actual user needs.
- Marketing one-size-fits-all solutions that result in frequent edge cases that break or degrade user experiences, particularly for people using assistive technology.
As a result, in May 2021 a large number of key accessibility specialists, experts, and disability rights activists signed an open letter discouraging the use of accessibility overlays: The Overlay Factsheet.
- Accessibility advocates sign open letter urging people not to use AccessiBe and other overlay products - excellent write up of the release of the Overlay Factsheet and the history of overlays from WP Tavern.
- Adrian Roselli's series "X Overlay Will Get You Sued", which shows how popular overlays fail at even their claims of legal compliance: Userway, AccessiBe, FACIliti.
- Accessibility at the Edge W3C CG is an Overlay Smokescreen - looks into the formation of a W3C community group ("Accessibility at the Edge") founded by a collective of overlay vendors, seemingly as a way to garner positive publicity.
- Should I Use An Accessibility Overlay?
Below is a list of useful resources to turn to when considering web accessibility:
- W3C's Web Accessibility Initiative
- Web Accessibility in Mind
- Accessibility Club
- Wikipedia on Accessibility
- Totally: An accessibility visualization toolkit
Several IndieWebCamps and even HWC meetings have included material and discussions on accessibility that could be transplanted onto this page.
- 2018-01-08 : How Do I Increase Accessibility? (archived) in which the community is asked for general advice surrounding accessible blog mark-up, and provides in the comments!
- Accessibility and Contrast Bookmarklet
- There is software to simulate colour blindness that will help in picking palettes where colour differences are a required design element (e.g. in graphs). For macOS the free and open-source Sim Daltonism is very easy to use.
- https://tenon.io - helpful checking tool
- http://pa11y.org/ - accessibility checking tool
- https://www.funkify.org/ - Fantastic accessibility checker & simulator
- Smashing TV: Léonie Watson on why semantic HTML document landmarks assist her using a screenreader - 5 min intro on how screenreaders present pages
- Ethan Marcotte on The Web We Broke
- 2019-07-30 Andi Galpern / Adobe Blog: Designing Accessible Experiences at Scale / Accessibility is no longer an afterthought. It’s a requirement and should be considered from the very start of your design process.
- "This reply is part of a conversation on this post which has carried over to Twitter. There’s an elephant in the room we need to talk about regarding the fifth choice of non-WordPress CMS, and it’s accessibility, (or lack thereof) of those content management systems.Before anything else, Greg, I’m not mad at you for picking the fifth choice. WordPress isn’t the only thing out there, and it shouldn’t be the only thing out there, if for no other reason than the principles governing the Indieweb basically state that there shouldn’t be one platform/CMS to rule them all. That said, there’s a reason a lot of people with disabilities, (screen reader users especially), choose WordPress, and to a lesser extent, Drupal.Aside from the things that popularity brings, (one-click installs, for example), the fact is that content management systems outside of WordPress and Drupal and somewhat Joomla! do not take accessibility into consideration as part of their development and design roadmaps. And nobody wants to be the first person to start advocating piecemeal with each and every one of these only to be told that “Accessibility is not a priority” or any of the other excuses put forth for why something isn’t accessible. Nobody certainly wants to do it for free.I continue to contribute to WordPress accessibility for a whole host of reasons, some of which have to do with self-interest. I use WordPress and I want to give back, and it makes sense for me to invest in the platform that has helped me make my living for the last ten years. I also want others in the blind community to have the opportunity to use WordPress to make a living of their own. In order for that to happen, accessibility has to be part of the project.And unfortunately, experience has taught me, (as well as others in the disability community), that accessibility just isn’t a high priority, especially if it gets in the way of some cool new feature. That’s true for everything from Cpanel to PHPMyAdmin all the way down the line to just about every other thing used to create websites.Granted, given the insistence in the indieweb space on semantic HTML, I could find that I am pleasantly surprised that Known, for example, works just fine. And there are good reasons for using it, most notably that indieweb stuff just seems to work out of the box. What I’m not sure about though is the accessibility of themes/templates, and whether or not post kinds display is accessible, to say nothing of the creation process.Which brings me back to WordPress and Drupal, but especially WordPress. People who use screen readers, and to a lesser extent other assistive technologies, use WordPress because work is constantly being done on accessibility, along with the reasons that draw others to it: One-click installs, lots of options, thriving design/development community to create those options, and (relative) ease of use. And because things like Squarespace, Wix, and pretty much every other open source/free software content management system has significant accessibility problems, plus learning curves and all that jazz.So, to get back to my contention that indieweb WordPress will have to embrace blocks, I completely get that none of us want to touch React, and believe me I haven’t developed some sudden love for Gutenberg. I just think that, if indieweb stuff is going to take off, it’s going to have to be easier to handle the theming aspect of indieweb, and I think the easiest way to do that is to go with the flow of the community as much as possible. I’m not suggesting that the work be apportioned to others. Far from it. I’m saying we collectively need to do this, not that someone else should do it. I just don’t see the current theme status quo sticking around for long, and right now, we’re forking default themes probably because they are the easiest to fork, Independent Publisher being the exception.I’d feel sorry for anyone who tried to fork a Theme Forest theme. That’s something I wouldn’t wish on my worst enemy. And Genesis, as much as I love it, is going to take some thinking through due to the changes they’re making, and the fact that generally plugins that work best with Genesis are built to work with that framework and the way it does things and not to be compatible with stuff outside of that. There are some exceptions, (Give, Gravity Forms, anything that uses shortcodes to insert its content). But I think getting something like Post Kinds working with Genesis, plus making sure that it still works with everything else, would be a ton of work. I think there would have to be a separate Genesis-specific plugin to handle post kinds for that framework. And I’m using Genesis as my example because it has 250,000 users, a thriving design community along with development community, and is really quick to set up sites with. Problem is, that community is embracing blocks, because admittedly blocks make some things a lot easier to do, homepages that aren’t just static but are a mix of static and dynamic, for example. Up until Gutenberg that’s been accomplished with widgets and sometimes custom loops. Blocks/Gutenberg eliminates a lot of that work.So the Genesis community isn’t going to want to go back to the old way, even if indieweb is important to some of the community members. Users aren’t going to switch from Genesis to what’s currently there for indieweb with regard to themes unless they decide to be idealistic above everything else, which means indieweb is adopted by less people overall. While Genesis is the example under discussion here, all of this applies to every other theme framework, and themes in general. In short, blocks is where it’s at, whether I like that or not, and even if I still hate React for all of the reasons I hate it." @Amanda Rush(Placeholder, edit later) WordPress powers over a quarter of the web. With such a large market share comes a shared responsibility to create a web that everyone can use and enjoy, regardless of how they access it. August 29, 2019
- 2019-11-05 What I’ve learned about accessibility in SPAs <-- useful for IndieWeb development of accessible UIs, readers, perhaps sites!
- Why <details> is Not an Accordion
- CSS for marking something screen reader only including optional code for making it hidden but focusable
- 2020-06-11 Olu Niyiawosusi *[*https://alistapart.com/article/building-the-woke-web/ Building the Woke Web: Web Accessibility, Inclusion & Social Justice]
- [https://blog.datawrapper.de/beautifulcolors/ How to pick more beautiful colors for your data visualizations[
- A website that's only accessible via screen reader
- Show/Hide password accessibility and password hints tutorial
- Form Design by Geri Reid, following Inclusive Design and WCAG principles
- simple, semantic HTML can get you a long way toward building an accessible experience. Not using the right semantic tags can cause problems : https://mobile.twitter.com/mmatuzo/status/1481370546176770049
- "How many HTML elements do you need to create a checkbox?
Exactly, 14! 14 is the right answer." @mmatuzo January 12, 2022
- "How many HTML elements do you need to create a checkbox?
- 2022-05-04 I've analyzed the accessibility of over 1600 personal sites — includes sites from IndieWeb web ring!