Opens in a new tabSkip to content
Agent LighthouseAgent Lighthouse

    Searches the text of every published page. The evidence sources themselves are not in this index — search all of them on the trusted sources page.

    GitHub ↗
    Browse checks and page contents
    answer-readiness/direct-definitions

    Definition markup on definitional pages

    What it checks

    HTML-AAM maps <dfn> and <dt>/<dd> to the term and definition roles, and WHATWG requires the definition to sit alongside the term it defines, so the pairing survives extraction intact. No consumer is documented as acting on that mapping and prose definitions read fine, so this is reported as upside on pages that already answer a definitional question — never as a defect.

    (The pre-rewrite audit also counted a <strong>Term:</strong> bold-colon pattern. That branch is graded D on its own and is deleted; see the rewrite section.)

    Why it matters

    Marking a term and its definition with <dfn>, or with <dl>, <dt> and <dd>, exposes explicit term and definition roles in the accessibility tree. It also keeps the pairing intact through extraction. An answer engine can then return the definition for a “what is X?” query without inferring it from surrounding prose.

    Evidence

    • WHATWG HTML defines the element precisely. dfn “represents the defining instance of a term”. The spec adds: “The paragraph, description list group, or section that is the nearest ancestor of the dfn element must also contain the definition(s) for the term given by the dfn element”. The pairing is therefore a conformance requirement, not a convention — html.spec.whatwg.org/…/text-level-semantics.html (verified 2026-08-21)
    • HTML-AAM maps the markup to first-class roles in the tree agents read: dfnterm, dtterm, dddefinition, dllistw3.org/…/html-aam-1.0 (verified 2026-08-21)
    • Extraction pipelines preserve structural markup rather than flattening it: trafilatura’s include_formatting keeps “structural elements related to formatting (kept in XML, rendered as markdown for text formats)” — trafilatura.readthedocs.io/…/corefunctions.html (verified 2026-08-21)
    • Structured formats extract better than prose in general: GEO-SFE reports “structured formats (lists, tables) demonstrate 43% higher extraction accuracy than equivalent prose” — arxiv.org/…/2603.29979v1 (verified 2026-08-21)

    Limits

    No vendor documentation and no agent harness documents acting on role="term" or role="definition"; this repository’s own semantic-html research records that “Definition lists (dl/dt/dd) in particular have no documented agent consumer beyond generic role mapping” (docs/evidence/audits/semantic-html/definition-elements.md). The markdown conversion path that the mechanism relies on actually weakens it. CommonMark has no definition-list syntax. A <dl> passing through a markdown pipeline — Cloudflare’s Markdown for Agents (blog.cloudflare.com/markdown-for-agents), or trafilatura’s markdown output — flattens to ordinary lines, and loses the term-to-definition distinction that HTML-AAM preserves.

    GEO-SFE isolates lists and tables, never definition markup. Google states that no special markup is needed, and that “You don’t need to write in a specific way just for generative AI search” (developers.google.com/…/ai-optimization-guide). C-SEO Bench found that “Most current C-SEO methods are not only largely ineffective but also frequently have a negative impact on document ranking” (arxiv.org/…/2506.11097). The <strong>Term:</strong> … branch has no spec, no role mapping and no consumer — graded on its own it is D. All URLs verified 2026-08-21.

    How it scores

    The markup is ratified, and carries a spec-defined term-to-definition role mapping. But no vendor doc, agent harness or study shows any consumer acting on that mapping. The audit’s third detector branch, bold-colon, is a typographic convention with no spec basis at all.

    Sources