Like many programmers, I learned HTML and other Web techniques mostly by trial and error. Its often the best way.
Later, I became aware of emerging standards for accessibility on the Web. These describe techniques to ensure sites do not exclude particular users or browsers. The most interesting measures are those needed to accommodate assistive technologies, such as screen readers for users with limited vision, and different preferred interfaces, such as a keyboard instead of a mouse. Some of the problems are simpler: giant pages of high-resolution pictures are a good way to exclude dial-up users.
I have used the background information, tutorials, and coding examples at the WebAIM (Web Accessibility In Mind) site, and I heartily recommend it. Ive picked up other suggestions from people who use assistive technology.
The page on Hiding addresses deals with one of the most difficult problems in accessibility: fighting off spammers while keeping your email links useful to everyone else.