Semantic HTML
One of the most important tools at our disposal is semantic labeling in HTML. Most readers scan pages in predictable patterns, so we typically write content to prioritize the elements they’re most likely to notice first. For readers who can’t rely on visual scanning, semantic HTML replicates that prioritization, ensuring content remains accessible and intuitive.
In language studies, semantics describes the study of meaning and how we can use reference points, like words, to convey it to one another. For coding, semantics functions the same way: in this case, the meaning we’re conveying to screen readers and other adaptive technologies is information priority—which should be a foundational component of your coding plan.
Consider for a moment how a title is visually distinct from a paragraph—even in this section you’re reading right now, there’s a hierarchy of importance conveyed by the title, subtitle, paragraph, and their visual appearance on the page. By coding each of those sections with an HTML tag (<header>, <nav>, <section>, <article>), we can tell the device to convey that distinction to the site user.
It’s important not to over-rely on this single tool or use so many tags (e.g., <div> and <span>) that the structural information overwhelms the content itself. To ensure a consistent user experience, tags must accurately reflect the content on the page. For example, a missing or incorrect alt description for an image can result in a significantly different experience for visually impaired users compared to those viewing it on a screen.