Semantic HTML uses descriptive HTML elements — such as header, nav, main, article, section, footer, and aside — to communicate the role and meaning of content to browsers, search engines, and assistive technologies. Unlike non-semantic markup (using generic div and span elements for everything), semantic HTML gives structure that search engines can parse and that screen readers can navigate. It is a foundational practice for SEO, accessibility, and maintainable code.