Headings allow screen-reader and assistive technology users to skim the structure of a page and navigate to or skip over sections.
Every page should have a <h1>
check_circle Without the <h1>, the user has no simple way to learn what the page is about.
Headings are for structure, not formatting
check_circle Headings should be used to divide content into meaningful sections, not to format text. Your <h2> styling may be italic and green, but that does not mean that any time you want italic green text you should make the text a <h2>. Rather, the headings (no matter what their styling looks like) should be used to designate content structure.
check_circle Sometimes the role of a feature is perfectly clear to people who can see the page design, but difficult or impossible to discern if you can't see the design. When this happens, you might want to add a heading to label that feature but make the heading invisible.