| 1 | Document | Always start with <!doctype html>. | Ensures browsers use modern standards mode. |
| 2 | Document | Set the page language with <html lang="en">. | Improves accessibility, translation, and SEO. |
| 3 | Document | Use <meta charset="UTF-8" />. | Supports most characters, symbols, and languages. |
| 4 | Responsive | Add the viewport meta tag. | Helps pages display correctly on mobile devices. |
| 5 | SEO | Write a unique <title> for every page. | Improves search visibility and browser tab clarity. |
| 6 | SEO | Add a useful meta description. | Helps search engines display meaningful snippets. |
| 7 | Structure | Use one clear <h1> per page. | Defines the main topic of the page. |
| 8 | Structure | Use headings in logical order. | Improves readability, accessibility, and SEO. |
| 9 | Semantic HTML | Use semantic tags like <main>, <article>, and <section>. | Makes page structure meaningful. |
| 10 | Semantic HTML | Use <nav> for important navigation links. | Helps users and assistive technologies identify navigation. |
| 11 | Semantic HTML | Use <footer> for footer information. | Creates clear page or section endings. |
| 12 | Accessibility | Use real buttons for actions. | Improves keyboard and screen reader support. |
| 13 | Accessibility | Use real links for navigation. | Makes navigation crawlable and accessible. |
| 14 | Accessibility | Keep focus styles visible. | Helps keyboard users know where they are. |
| 15 | Images | Add meaningful alt text to informative images. | Improves accessibility and image SEO. |
| 16 | Images | Use empty alt="" for decorative images. | Prevents screen readers from announcing unnecessary images. |
| 17 | Images | Set image width and height. | Reduces layout shift and improves performance. |
| 18 | Images | Use loading="lazy" for below-the-fold images. | Improves page load performance. |
| 19 | Links | Use descriptive anchor text. | Improves SEO, accessibility, and user understanding. |
| 20 | Links | Avoid vague link text like “click here”. | Provides better context for users and search engines. |
| 21 | Links | Use rel="noopener noreferrer" for new-tab external links. | Improves security and performance. |
| 22 | Forms | Use <label> for every important input. | Improves accessibility and click behavior. |
| 23 | Forms | Match label for with input id. | Connects labels and fields correctly. |
| 24 | Forms | Use correct input types. | Improves validation and mobile keyboards. |
| 25 | Forms | Use autocomplete where helpful. | Helps users complete forms faster. |
| 26 | Forms | Do not use placeholder text as the only label. | Placeholders disappear and can hurt accessibility. |
| 27 | Forms | Use required, minlength, and pattern carefully. | Improves client-side validation. |
| 28 | Tables | Use tables only for tabular data. | Keeps layout semantic and accessible. |
| 29 | Tables | Use <th> for header cells. | Helps users understand row and column meaning. |
| 30 | Tables | Add <caption> for complex tables. | Explains the purpose of the table. |
| 31 | Media | Add captions or transcripts for videos. | Improves accessibility and content understanding. |
| 32 | Media | Avoid autoplay with sound. | Improves usability and accessibility. |
| 33 | Iframe | Add a descriptive title to iframes. | Helps screen readers identify embedded content. |
| 34 | Iframe | Use loading="lazy" for below-the-fold iframes. | Improves performance. |
| 35 | Performance | Keep HTML clean and avoid unnecessary nesting. | Improves readability and rendering efficiency. |
| 36 | Performance | Use external CSS instead of repeated inline styles. | Improves maintainability and caching. |
| 37 | Performance | Use defer for non-critical JavaScript. | Prevents scripts from blocking page parsing. |
| 38 | SEO | Use canonical tags when duplicate URLs may exist. | Helps search engines understand the preferred URL. |
| 39 | SEO | Use structured data when appropriate. | Helps search engines understand page type and content. |
| 40 | SEO | Use internal links to connect related pages. | Improves crawlability and topic authority. |
| 41 | Accessibility | Use ARIA only when native HTML is not enough. | Prevents unnecessary complexity and incorrect semantics. |
| 42 | Accessibility | Use aria-describedby for helper or error text. | Connects instructions with form controls. |
| 43 | Code Quality | Use lowercase tag and attribute names. | Keeps code consistent and readable. |
| 44 | Code Quality | Quote attribute values. | Prevents parsing issues and improves consistency. |
| 45 | Code Quality | Use meaningful class and ID names. | Improves maintainability. |
| 46 | Code Quality | Avoid duplicate IDs. | Prevents accessibility and JavaScript bugs. |
| 47 | Validation | Validate HTML regularly. | Catches invalid markup and structural mistakes. |
| 48 | Responsive | Make images, videos, and tables responsive. | Improves mobile usability. |
| 49 | Security | Never trust user-submitted HTML. | Helps prevent XSS and injection issues. |
| 50 | Maintenance | Separate content, style, and behavior. | Keeps HTML, CSS, and JavaScript easier to manage. |