Contents
A page's table of contents: a navigation landmark named by its own heading, with the list of headings the markdown module made.
Demo
Property editor
Change a value and apply it; the demo renders with the new values. A refused value is reported at its field and the demo keeps the starting value.
Properties
| Property | Type | Default | Allowed values | Description |
|---|---|---|---|---|
label | string | required | The heading of the list, in the page's language; it names the landmark. | |
listHtml | string | required | The nested list of links, escaped HTML from the markdown module. |
Events
This component sends no events.
Keyboard
| Keys | Does |
|---|---|
| Tab, Enter | Moves between the links in document order; Enter follows one. Native, no script. |
Accessibility
- A <nav> named by its own h2 through aria-labelledby, so the name is read once.
- The id of the heading is fixed (dv-contents-title), so one page holds one contents list.
Rationale
The markdown module renders the contents list where a page has the marker line; the markup around it belongs to the kit, so the landmark, its heading and its style are written once and the module writes no component markup. The landmark is named by its visible heading (aria-labelledby), so a screen reader hears the same word once.
References
- COMMON-148
Uses
This component uses no other component.
Used by
No usages recorded yet.
README
contents
A page's table of contents: a navigation landmark named by its own heading ("Inhoud", in the page's language) with
the list of headings. The markdown module renders it where a page has the $toc['marker'] line.
Change log
- 2026-10-14:
component.json(the manifest: the props now live there) anddemo.php(the demos the inspector and the catalogue page show) added; see docs/architecture/inspector.md. - 2026-10-14: new, from
<nav class="tableofcontents">inmodules/markdown/start.php; the id isdv-contents-title.