Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

HTML element / attribute ledger

Legend: ✅ supported today · 🟡 not supported yet, but planned · ⛔ won’t be supported. Tier T0–T3. Since = the superui version a capability first shipped in (unreleased = merged to main, not yet in a tagged release).

Unknown tags render as plain boxes; unknown attributes are ignored.

Elements

ElementStatusTierSinceNotes
div / span / p✅T00.1generic boxes
h1–h6✅T00.1no built-in heading sizes; size via CSS font-size
ul / ol / li✅T00.1plain flex boxes (no list markers yet)
button✅T00.1clickable
input type=text✅T10.1single-line; full cursor navigation, selection, OS clipboard, IME, unicode
input type=checkbox✅T10.1toggles checked, drives :checked; shows a mark when checked
input type=range✅T10.3.5draggable + keyboard (arrows/Home/End) slider; fires input while dragging and change on commit; default browser-like look, styleable via ::slider-track/::slider-fill/::slider-thumb; horizontal only
label✅T10.1plain box (no implicit for focus yet)
text nodes✅T00.1rendered as text
semantic / block tags (nav, header, footer, section, article, main, aside, blockquote, figure)✅T00.1generic boxes, like div
inline text (strong, em, b, i, u, small, code)🟡T2—render as boxes; no bold/italic or inline flow yet
br / hr🟡T2—line break / rule line
pre🟡T2—preserved whitespace
input type=radio / number / password / …🟡T1—only text / checkbox / range behave as their type; the rest currently degrade to a plain text field
a (anchor)🟡T1—renders; no navigation (no network)
img✅T2unreleasedloads src from assets; sized via CSS (width/height); NodeImageMode::Auto intrinsic size otherwise. No object-fit yet; alt not rendered
form🟡T1—renders; no submit semantics yet
textarea✅T10.1multiline; full cursor navigation, selection, OS clipboard, IME, unicode
select / option🟡T2—
table/tr/td🟡T2—via flex/grid approximation
svg + children🟡T2—AI emits it often; planned
canvas🟡T3—
iframe (to a server)⛔——multi-document / network

Attributes

AttributeStatusTierSinceNotes
id✅T00.1id selector (#x)
class✅T00.1class selector (.x)
type (input)✅T10.1text / checkbox / range
value (input)✅T10.1
checked (input)✅T10.1
min / max / step (input range)✅T10.3.5range only; default min=0, max=100, step=1, value defaults to the midpoint and is clamped into range
placeholder (input)✅T10.1shown when value empty
style (inline)✅T10.1inline style
data-*✅T10.1stored, readable via getAttribute
href🟡T1—stored; no navigation
disabled🟡T1—stored + selectable via [disabled], but doesn’t block focus/pointer yet
for (label)🟡T2—no label→input focus yet
readonly / required / name🟡T2—form field attributes
maxlength (input/textarea)✅T10.3.5caps character count
rows (textarea)✅T10.3.5visible line count; defaults to 3
autofocus✅T10.1focuses the element on mount
tabindex🟡T2—focus order
hidden🟡T2—use display: none for now
src (img)✅T2unreleasedresolved relative to the document dir (like CSS/JS links); absolute / and ./ honored
inline on* (onclick)🟡T3—use addEventListener instead
role / aria-*🟡T3—stored, inert
title / alt🟡T3—
PROJECTSUPERUI · BEVY UI
DRAWN BYSTROWK
SCALENOT TO SCALE
REVR1 · 0.1 EARLY BUILD
LICENCEMIT / APACHE-2.0