Unresolved ZemDomu placeholders
ZMD018ZemDomu reports TODO-ZMD markers left in supported text or attribute values by a quick fix. Replace every marker with meaningful project content before release.
What this rule catches
- Literal TODO-ZMD text in supported element content.
- Literal TODO-ZMD values left in supported attributes, labels, names, or destinations.
What static analysis cannot prove
- The rule finds ZemDomu's marker; it does not identify every placeholder phrase or judge whether replacement copy is meaningful.
- Markers assembled dynamically or stored outside the analyzed source may require a separate repository or runtime search.
Standards classification and detection confidence
- Classification
- advisory — The rule catches known placeholder navigation values before they are mistaken for completed destinations.
- Detection confidence
- high — Known static placeholder patterns are deterministic. Custom placeholders and destinations assigned only at runtime may not be recognized.
Applicable WCAG 2.2 criteria
No direct WCAG 2.2 success criterion.
No WCAG 2.2 success criterion names ZemDomu's placeholder patterns. Once exposed as links, keyboard behavior and link-purpose requirements may apply.
Normative means the rule checks a machine-testable part of a cited standards requirement. Advisory means it enforces a documented authoring convention or supporting technique. Neither classification makes a ZemDomu result proof of WCAG conformance.
Examples
✅ Good
<button aria-label="Close"></button>
<label for="email">Email</label>
<input id="email" type="email">❌ Bad
<button aria-label="TODO-ZMD"></button>
<label for="TODO-ZMD">TODO-ZMD</label>
<label for="TODO-ZMD">{TODO-ZMD}</label>
<p>TODO-ZMD</p>
<p>{`TODO-ZMD`}</p>
<a href="TODO-ZMD">TODO-ZMD</a>React and Vue notes
- React/TSX
- Replace markers in JSX or TSX text and attribute expressions with real values; unresolved identifiers may not be equivalent to the literal marker.
- Vue
- Replace markers in Vue template text and attributes with real values; runtime interpolation may require a separate data-source review.
Quick summary
When: TODO-ZMD appears in text or attribute values
Warning: Unresolved ZemDomu placeholder detected
Solution: Replace TODO-ZMD with real, descriptive content
Why it matters
Accessibility: Placeholder labels and names can confuse assistive technologies and users.
SEO: Placeholder link text and metadata reduce relevance for search engines.
Rule details
In brief
- Goal: Replace placeholder text with meaningful labels and content.
- What to do: Find and replace every TODO-ZMD occurrence.
- Why: Placeholder values reduce accessibility and signal unfinished work.
Intent
ZemDomu quick fixes insert TODO-ZMD as a reminder to fill in real content. This rule flags remaining placeholders so they do not reach production.
Benefits
- Avoids shipping placeholder labels or hrefs.
- Keeps accessible names and metadata meaningful.
- Highlights unfinished quick-fix output in CI.
Techniques
ZMD018: Replace TODO-ZMD placeholders with real content.
HTML Semantics
TODO-ZMD is a marker inserted by ZemDomu quick fixes; leaving it in markup indicates unresolved semantics.
Tips & edge cases
- Search for TODO-ZMD before release to clean up quick fix output.
- If the placeholder represents optional content, remove the attribute or element entirely.
- Use meaningful labels and link text instead of placeholders.
Related guides
Last verified: