What is accessibility ?
I will often refer to accessibility in these pages, which globally means having a website that people with disabilities can use. Disabilities come in a lot of ways. The most obvious one is blindness, who requires the use of a screen reader. But there's a lot of handicaps that can give your a hard time on the internet.
You might be deaf, which means you need a transcribed version of an audio or video file. You might have dyslexia, which means you have a hard time reading text and need special fonts (and surprisingly Comic Sans MS is one of them). You might have anxiety and panic disorders, which means you can't go to some websites who are too cluttered or trigger too many animations. You might have a cognitive impairment, which means you have a hard time understanding some websites. There are a lot of others handicaps that might make the web hard to use.
Coding properly for accessibility (basically, respecting standards) doesn't mean your website is accessible by magic. It means other tools can take over by using the code you wrote. Screen readers are the obvious ones, but others like reader mode in your browser of choice is also one of them as it allows to change colors, fonts, etc...
Is accessibility all about code?
No, not at all.
All accessibility problems cannot be solved only by code. Some are only fixable by enforcing an inclusive interface and user experience design. You might have heard that enforcing accessibility leads to design constraints, which is true. But from experience it's entirely possible to have a nice design and user experience while being accessible. People saying it's not possible are lazy liars. Also you might have heard that enforcing accessibility is bad for SEO. It's also a lie as both can work together, you just have to want it.
Respecting accessibility in UI and UX design often leads to better designs and user experiences for all users. So when I say that something is good for accessibility it often means it's good for all your users, and following these advises will result in a better website of everyone.
Accessibility is hard
To enforce accessibility you need to get yourself into the shoes of your disabled users. Is this usable by screen readers? Is it understandable by people with cognitive impairments? Questioning everything you do is a good way of doing it, but on the long run it leads to the realization that basically nothing is perfect despite your efforts.
And that's the hard pill to swallow: you probably can't make accessibility perfect by yourself (especially on big projects) without funding, manpower and a lot of testing. It's a huge task and you should aim for usable instead of perfection or you'll never see it end. Try to detect what is important for your user in each page or situation and make sure it works.
Ask yourself, what is the goal of the website you make? For a bank it's numbers, are the numbers accessible? For a journal it's text, are the texts accessible? For a government taxes website, it's being as clear as possible about legal stuff.
What is the main think you can't mess around with? Make it your top accessibility priority, everywhere, and fix it. Once it's done, then you'll come back to fix those small problems, like typos or unimportant texts not being clear enough.
Choose the right battle and fight it until the end!
Next: Basic rules about accessibility and tools to enforce them