Dashboard
with subsection
Source: https://zemdomu.dev/docs/singleH1
Shows the recommended structure with one and a for a subsection. Use this pattern to satisfy the rule.
```html
Home
About Us
…
```
--------------------------------
### Good image and SVG markup
Source: https://zemdomu.dev/docs/requireAltText
Examples of correctly implemented alt text for images and accessible names for inline SVGs.
```html
```
--------------------------------
### Good example: unique ids for div elements
Source: https://zemdomu.dev/docs/uniqueIds
These two div elements have unique id values ('item-1' and 'item-2'). Used as an example of a correct, unique-id structure.
```html
```
--------------------------------
### Good example: replace TODOs with meaningful labels
Source: https://zemdomu.dev/docs/preventZemdomuPlaceholders
Shows correct markup without TODO-ZMD markers. Use this pattern for accessible names and labels.
```HTML
```
--------------------------------
### ZemDomu JSON diagnostic output example
Source: https://zemdomu.dev/docs/diagnostics
A sample JSON array representing a diagnostic finding, including rule metadata, source location, and suggested edits.
```json
[
{
"schemaVersion": "1.0",
"rule": "requireAltText",
"code": "ZMD004",
"severity": "error",
"message": "
tag missing alt attribute",
"source": {
"file": "src/Hero.tsx",
"line": 6,
"column": 8,
"offset": 142
},
"page": "src/App.tsx",
"componentPath": ["App", "Hero"],
"preferredEditLocation": {
"file": "src/Hero.tsx",
"line": 6,
"column": 8
},
"suggestion": {
"message": "Add alt text that describes the image's purpose."
},
"provenance": {
"kind": "cross-component",
"analyzer": "ProjectLinter"
},
"confidence": "certain"
}
]
```
--------------------------------
### Bad heading order example
Source: https://zemdomu.dev/docs/enforceHeadingOrder
Shows an incorrect heading sequence where the heading level jumps from h2 to h4, skipping h3.
```html
Main section
Subpoint
and a for a subsection. Use this pattern to satisfy the rule.
```html
Home
About Us
…
```
--------------------------------
### Good image and SVG markup
Source: https://zemdomu.dev/docs/requireAltText
Examples of correctly implemented alt text for images and accessible names for inline SVGs.
```html
```
--------------------------------
### Good example: unique ids for div elements
Source: https://zemdomu.dev/docs/uniqueIds
These two div elements have unique id values ('item-1' and 'item-2'). Used as an example of a correct, unique-id structure.
```html
```
--------------------------------
### Good example: replace TODOs with meaningful labels
Source: https://zemdomu.dev/docs/preventZemdomuPlaceholders
Shows correct markup without TODO-ZMD markers. Use this pattern for accessible names and labels.
```HTML
```
--------------------------------
### ZemDomu JSON diagnostic output example
Source: https://zemdomu.dev/docs/diagnostics
A sample JSON array representing a diagnostic finding, including rule metadata, source location, and suggested edits.
```json
[
{
"schemaVersion": "1.0",
"rule": "requireAltText",
"code": "ZMD004",
"severity": "error",
"message": "
tag missing alt attribute",
"source": {
"file": "src/Hero.tsx",
"line": 6,
"column": 8,
"offset": 142
},
"page": "src/App.tsx",
"componentPath": ["App", "Hero"],
"preferredEditLocation": {
"file": "src/Hero.tsx",
"line": 6,
"column": 8
},
"suggestion": {
"message": "Add alt text that describes the image's purpose."
},
"provenance": {
"kind": "cross-component",
"analyzer": "ProjectLinter"
},
"confidence": "certain"
}
]
```
--------------------------------
### Bad heading order example
Source: https://zemdomu.dev/docs/enforceHeadingOrder
Shows an incorrect heading sequence where the heading level jumps from h2 to h4, skipping h3.
```html
Main section
Subpoint
Home
About Us
…
```
--------------------------------
### Good example: unique ids for div elements
Source: https://zemdomu.dev/docs/uniqueIds
These two div elements have unique id values ('item-1' and 'item-2'). Used as an example of a correct, unique-id structure.
```html
```
--------------------------------
### Good example: replace TODOs with meaningful labels
Source: https://zemdomu.dev/docs/preventZemdomuPlaceholders
Shows correct markup without TODO-ZMD markers. Use this pattern for accessible names and labels.
```HTML
```
--------------------------------
### ZemDomu JSON diagnostic output example
Source: https://zemdomu.dev/docs/diagnostics
A sample JSON array representing a diagnostic finding, including rule metadata, source location, and suggested edits.
```json
[
{
"schemaVersion": "1.0",
"rule": "requireAltText",
"code": "ZMD004",
"severity": "error",
"message": "Main section
Subpoint
Details…
``` -------------------------------- ### Bad anchor usage Source: https://zemdomu.dev/docs/requireHrefOnAnchors An example of an anchor element missing the required href attribute. ```html Learn more ``` -------------------------------- ### Bad example: image input without alt Source: https://zemdomu.dev/docs/requireImageInputAlt A non-compliant image input missing the alt attribute, triggering the ZMD014 rule. ```html ``` -------------------------------- ### SARIF 2.1.0 Output Structure Source: https://zemdomu.dev/docs/diagnostics Example of the SARIF output format generated by ZemDomu, including rule identity and namespaced properties. ```json { "version": "2.1.0", "runs": [{ "results": [{ "ruleId": "ZMD004", "level": "error", "message": { "text": " elements
Source: https://zemdomu.dev/docs/singleH1
Shows a violation with two elements. Avoid this pattern; use a single and lower-level headings.
```html
Home
About Us
…
```
--------------------------------
### Bad HTML document structure
Source: https://zemdomu.dev/docs/requireDocumentTitle
An example of an invalid HTML document missing the required element in the .
```html
...
```
--------------------------------
### Bad image and SVG markup
Source: https://zemdomu.dev/docs/requireAltText
Examples of invalid markup missing required text alternatives for images and SVG controls.
```html
```
--------------------------------
### Bad example of multiple landmarks
Source: https://zemdomu.dev/docs/requireSingleMain
An invalid HTML structure containing more than one element, which violates the ZMD020 rule.
```html
Overview
Details
```
--------------------------------
### Bad usage of tabindex
Source: https://zemdomu.dev/docs/noTabindexGreaterThanZero
Example of a positive tabindex value that overrides the natural document focus order.
```html
```
--------------------------------
### Good HTML document structure
Source: https://zemdomu.dev/docs/requireDocumentTitle
An example of a valid HTML document containing a descriptive element within the .
```html
Account Settings | ZemDomu
...
```
--------------------------------
### Good usage of tabindex
Source: https://zemdomu.dev/docs/noTabindexGreaterThanZero
Example of using tabindex="0" to allow an element to join the natural keyboard focus sequence.
```html
```
--------------------------------
### Bad example: orphaned - elements
Source: https://zemdomu.dev/docs/enforceListNesting
Shows the incorrect structure where list items are placed outside a valid list container, triggering the ZMD006 warning.
```html
- First item
- Second item
```
--------------------------------
### Invalid ARIA attribute usage
Source: https://zemdomu.dev/docs/ariaValidAttrValue
Examples of incorrectly formatted static ARIA attributes that trigger the ZMD021 rule.
```html
Title
```
--------------------------------
### Bad example: TODO-ZMD placeholders in markup
Source: https://zemdomu.dev/docs/preventZemdomuPlaceholders
Shows incorrect usage of TODO-ZMD in attributes, text content, and href. Avoid these patterns; replace with real descriptive content.
```HTML
TODO-ZMD
{`TODO-ZMD`}
TODO-ZMD
```
--------------------------------
### Valid ARIA attribute usage
Source: https://zemdomu.dev/docs/ariaValidAttrValue
Examples of correctly formatted static ARIA attributes using valid boolean and integer values.
```html
Title
```
--------------------------------
### Good example: iframe with title attribute
Source: https://zemdomu.dev/docs/requireIframeTitle
Use a concise, unique title that describes the embedded content or task. This passes the ZMD012 rule.
```html
```
--------------------------------
### Good: Accessible link examples
Source: https://zemdomu.dev/docs/requireLinkText
Three valid elements: text link, aria-label with hidden SVG, and img with alt text. These provide accessible names via text, ARIA, or labeled content.
```html
Read our Privacy Policy
```
--------------------------------
### Bad example: iframe without title attribute
Source: https://zemdomu.dev/docs/requireIframeTitle
Missing the title attribute triggers the ZMD012 warning "
and lower-level headings.
```html
Home
About Us
…
```
--------------------------------
### Bad HTML document structure
Source: https://zemdomu.dev/docs/requireDocumentTitle
An example of an invalid HTML document missing the required element in the .
```html
...
```
--------------------------------
### Bad image and SVG markup
Source: https://zemdomu.dev/docs/requireAltText
Examples of invalid markup missing required text alternatives for images and SVG controls.
```html
```
--------------------------------
### Bad example of multiple landmarks
Source: https://zemdomu.dev/docs/requireSingleMain
An invalid HTML structure containing more than one element, which violates the ZMD020 rule.
```html
Overview
Details
```
--------------------------------
### Bad usage of tabindex
Source: https://zemdomu.dev/docs/noTabindexGreaterThanZero
Example of a positive tabindex value that overrides the natural document focus order.
```html
```
--------------------------------
### Good HTML document structure
Source: https://zemdomu.dev/docs/requireDocumentTitle
An example of a valid HTML document containing a descriptive element within the .
```html
Account Settings | ZemDomu
...
```
--------------------------------
### Good usage of tabindex
Source: https://zemdomu.dev/docs/noTabindexGreaterThanZero
Example of using tabindex="0" to allow an element to join the natural keyboard focus sequence.
```html
```
--------------------------------
### Bad example: orphaned - elements
Source: https://zemdomu.dev/docs/enforceListNesting
Shows the incorrect structure where list items are placed outside a valid list container, triggering the ZMD006 warning.
```html
- First item
- Second item
```
--------------------------------
### Invalid ARIA attribute usage
Source: https://zemdomu.dev/docs/ariaValidAttrValue
Examples of incorrectly formatted static ARIA attributes that trigger the ZMD021 rule.
```html
Title
```
--------------------------------
### Bad example: TODO-ZMD placeholders in markup
Source: https://zemdomu.dev/docs/preventZemdomuPlaceholders
Shows incorrect usage of TODO-ZMD in attributes, text content, and href. Avoid these patterns; replace with real descriptive content.
```HTML
TODO-ZMD
{`TODO-ZMD`}
TODO-ZMD
```
--------------------------------
### Valid ARIA attribute usage
Source: https://zemdomu.dev/docs/ariaValidAttrValue
Examples of correctly formatted static ARIA attributes using valid boolean and integer values.
```html
Title
```
--------------------------------
### Good example: iframe with title attribute
Source: https://zemdomu.dev/docs/requireIframeTitle
Use a concise, unique title that describes the embedded content or task. This passes the ZMD012 rule.
```html
```
--------------------------------
### Good: Accessible link examples
Source: https://zemdomu.dev/docs/requireLinkText
Three valid elements: text link, aria-label with hidden SVG, and img with alt text. These provide accessible names via text, ARIA, or labeled content.
```html
Read our Privacy Policy
```
--------------------------------
### Bad example: iframe without title attribute
Source: https://zemdomu.dev/docs/requireIframeTitle
Missing the title attribute triggers the ZMD012 warning "
About Us
…
Title
```
--------------------------------
### Bad example: TODO-ZMD placeholders in markup
Source: https://zemdomu.dev/docs/preventZemdomuPlaceholders
Shows incorrect usage of TODO-ZMD in attributes, text content, and href. Avoid these patterns; replace with real descriptive content.
```HTML
TODO-ZMD
{`TODO-ZMD`}
TODO-ZMD ``` -------------------------------- ### Valid ARIA attribute usage Source: https://zemdomu.dev/docs/ariaValidAttrValue Examples of correctly formatted static ARIA attributes using valid boolean and integer values. ```htmlTitle
```
--------------------------------
### Good example: iframe with title attribute
Source: https://zemdomu.dev/docs/requireIframeTitle
Use a concise, unique title that describes the embedded content or task. This passes the ZMD012 rule.
```html
```
--------------------------------
### Good: Accessible link examples
Source: https://zemdomu.dev/docs/requireLinkText
Three valid elements: text link, aria-label with hidden SVG, and img with alt text. These provide accessible names via text, ARIA, or labeled content.
```html
Read our Privacy Policy