The following must be integrated to conform legally with WCAG 2.0 AA guidelines.
Page titles
Must be present.
Must be updated when the URL changes.
Must be accurate and informative.
Language
- Must be identified accurately in the <html> tag with a valid language code. Example: <html lang="en">
- Valid lang attribute must be used for inline language changes. Example: <p>And then I said in a German accent, <span lang="de">Bach ist ein Komponist.</span>.</p>
Headings
Must be accurate and informative.
Navigation
- Navigation must be consistent in presentation order across website
- Skip link must be visible on keyboard focus (or at all times).
- Reading order must be logical.
- Navigation order of focusable elements must be logical.
Links
- Must be visually distinguishable from surrounding text. Color alone isn't enough unless color contrast is at least 3:1, and hovering or focus provides additional differentiation.
- Must be semantically designated as links. Example: <a href="https://cornell.edu">Cornell University</a>
- Must have programmatically-discernible text. Example: 1) if an image is used inside a link, put link text in the alt tag 2) if an icon is used, add an aria-label such as: <a href="https://cornell.edu" aria-label="Cornell University"><icon html... \></a>
- Link labels and text alternatives must be consistent across the website. Example: don't use "Contact Us" and "Give us a call" for the same URL
- Anything focusable (that you can tab to) must have visual indicator appear when it's focused.
Lists
- Must use HTML semantic markup. Example: <ul><li>Grain-fed bats</li></ul>
Tables
- Headers must use <th>
- Data header text must describe category of the corresponding data cells.
- Data cells must be associated with their corresponding header cells.
- Data group headers must be associated with their corresponding data cell groups.
- Header/data associations that can't use <th> and scope must use with headers plus id
- Data headers and data associations must not be referenced across nested, merged, or separate tables.
- Layout tables must not contain data table markup.
iFrames
- must have a descriptive title Example: <iframe title="Star Wars: The Last Jedi trailer"> and be unique in relation to other iFrames on the page
- for iframes bringing in other web pages, the external page must have a <title>
Other (content)
- Important strikethrough text must be supplemented with a text-based method to convey the meaning of the strikethrough.
- Important insertion text must be supplemented with a text-based method to convey the meaning of the insertion.