Compatibility

What TermDOM supports: DOM APIs, selectors, at-rules, and CSS properties. Every row is a probe -- the feature applied to a real document and rendered, with the row recording whether the output changed.

203 features supported, 34 probed and unsupported, 153 CSS properties not applicable to a character grid, 128 applicable and not implemented, 9 not yet probed.

DOM APIs #

featuresupported
Shadow DOMyes
MutationObserveryes
ResizeObserveryes
IntersectionObserveryes
matchMediayes
requestAnimationFrameyes
getComputedStyleyes
getBoundingClientRectyes
Selection / getSelectionyes
contenteditableyes
CSS Custom Highlight APIyes
Fullscreen APIyes
<img>yes
<canvas> 2d contextyes
<canvas> charactergrid contextyes
FormDatayes

Selectors #

featuresupported
Type / class / idyes
Descendantyes
Childyes
Attributeyes
Pseudo-class :first-childyes
Pseudo-class :nth-childyes
Pseudo-element ::beforeyes
Adjacent siblingyes
Selector listyes
Universalyes

At-rules #

featuresupported
@media (width)yes
@media (height)yes
@supportsyes
@layeryes
@scopeyes
Custom properties (var)yes
!importantyes

Box model #

featuresupported
border-top-widthyes
border-top-styleyes
border-top-coloryes
border-right-widthyes
border-right-styleyes
border-right-coloryes
border-bottom-widthyes
border-bottom-styleyes
border-bottom-coloryes
border-left-widthyes
border-left-styleyes
border-left-coloryes
border-block-start-widthyes
border-block-end-widthyes
border-inline-start-widthyes
border-inline-end-widthyes
border-block-widthyes
border-block-styleyes
border-block-coloryes
border-blockyes
border-block-startyes
border-block-start-styleyes
border-block-start-coloryes
border-block-endyes
border-block-end-styleyes
border-block-end-coloryes
border-inline-widthyes
border-inline-styleyes
border-inline-coloryes
border-inlineyes
border-inline-startyes
border-inline-start-styleyes
border-inline-start-coloryes
border-inline-endyes
border-inline-end-styleyes
border-inline-end-coloryes
border-spacingno (no effect)
widthyes
heightyes
min-widthyes
min-heightyes
max-widthyes
max-heightyes
paddingyes
padding-topyes
padding-rightyes
padding-bottomyes
padding-leftyes
marginyes
margin-topyes
margin-rightyes
margin-bottomyes
margin-leftyes
borderyes
border-widthyes
border-styleyes
border-coloryes
border-topyes
border-rightyes
border-bottomyes
border-leftyes
border-radiusyes
border-top-left-radiusyes
border-top-right-radiusyes
border-bottom-right-radiusyes
border-bottom-left-radiusyes
box-sizingno (no effect)
aspect-ratioyes
outlineyes
outline-styleyes
outline-widthyes
outline-coloryes
outline-offsetno (no effect)

Display and positioning #

featuresupported
displayyes
positionyes
topyes
rightyes
bottomyes
leftyes
z-indexyes
isolationyes
floatno (no effect)
clearno (no effect)
overflowyes
overflow-xyes
overflow-yyes
visibilityyes

Flexbox #

featuresupported
flex-directionyes
flex-wrapyes
flex-growyes
flex-shrinkyes
flex-basisyes
flexyes
justify-contentyes
align-itemsyes
align-selfyes
align-contentyes
orderyes
gapyes
row-gapyes
column-gapyes

Grid #

featuresupported
grid-template-columnsyes
grid-template-rowsyes
grid-columnyes
grid-rowyes
grid-auto-flowyes

Text and paint #

featuresupported
coloryes
background-coloryes
background-image: linear-gradient()yes
background-image: radial-gradient()no (no effect)
background-image: url()no (no effect)
user-selectyes
backgroundyes
font-weightyes
font-styleyes
text-decorationyes
text-decoration-lineyes
text-decoration-styleno (no effect)
text-transformyes
text-alignyes
text-indentyes
white-spaceyes
word-breakyes
overflow-wrapyes
line-heightno (no effect)
directionyes
opacityno (no effect)
font-familyno (no effect)
font-sizeno (no effect)
letter-spacingno (no effect)
word-spacingno (no effect)

Lists, tables, counters #

featuresupported
list-style-typeyes
list-style-positionyes
list-styleyes
border-collapseyes
table-layoutno (no effect)
vertical-alignno (no effect)
contentyes
counter-resetno (no effect)
counter-incrementno (no effect)

Graphical effects #

featuresupported
transitionno (no effect)
animationno (no effect)
box-shadowno (no effect)
filterno (no effect)
cursorno (no effect)

Images #

featuresupported
object-fityes
object-positionyes
image-renderingyes

Logical properties #

featuresupported
margin-block-startyes
padding-block-startyes
inset-block-startyes
margin-block-endyes
padding-block-endyes
inset-block-endyes
margin-inline-startyes
padding-inline-startyes
inset-inline-startyes
margin-inline-endyes
padding-inline-endyes
inset-inline-endyes
margin-blockyes
padding-blockyes
inset-blockyes
margin-inlineyes
padding-inlineyes
inset-inlineyes
insetyes
inline-sizeyes
block-sizeyes
min-inline-sizeyes
max-inline-sizeyes
min-block-sizeyes
max-block-sizeyes
flex-flowyes
place-contentyes
place-itemsyes
place-selfyes
justify-itemsyes
justify-selfyes
caption-sideno (no effect)
empty-cellsno (no effect)
text-align-lastno (no effect)
text-decoration-colorno (no effect)
text-overflowyes
text-wrapyes
text-wrap-modeyes
white-space-collapseno (no effect)
word-wrapno (no effect)
line-clampno (no effect)
counter-setno (no effect)
fontyes
list-style-imageno (no effect)
gridyes
grid-areayes
grid-auto-columnsyes
grid-auto-rowsyes
grid-column-endyes
grid-column-startyes
grid-row-endyes
grid-row-startyes
grid-templateyes
grid-template-areasyes
overflow-blockno (no effect)
overflow-inlineno (no effect)

Not applicable to a character grid #

These properties have no rendering a grid of characters can carry.

Transforms, 3D and motion paths, which need sub-cell geometry. backface-visibility, offset, offset-anchor, offset-distance, offset-path, offset-position, offset-rotate, perspective, perspective-origin, rotate, scale, transform, transform-box, transform-origin, transform-style, translate, zoom

Raster imagery and compositing, which need pixels. backdrop-filter, background-attachment, background-blend-mode, background-origin, background-position, background-position-x, background-position-y, background-repeat, background-size, border-image, border-image-outset, border-image-repeat, border-image-slice, border-image-source, border-image-width, clip-path, dynamic-range-limit, image-orientation, mask, mask-border, mask-border-mode, mask-border-outset, mask-border-repeat, mask-border-slice, mask-border-source, mask-border-width, mask-clip, mask-composite, mask-image, mask-mode, mask-origin, mask-position, mask-repeat, mask-size, mix-blend-mode, shape-image-threshold, shape-margin, shape-outside

SVG presentation attributes, for a rendering model with no cells. alignment-baseline, baseline-shift, baseline-source, clip-rule, color-interpolation-filters, cx, cy, d, dominant-baseline, fill, fill-opacity, fill-rule, flood-color, flood-opacity, lighting-color, marker, marker-end, marker-mid, marker-start, mask-type, paint-order, r, rx, ry, shape-rendering, stop-color, stop-opacity, stroke, stroke-dasharray, stroke-dashoffset, stroke-linecap, stroke-linejoin, stroke-miterlimit, stroke-opacity, stroke-width, text-anchor, vector-effect, x, y

Glyph rendering, which the terminal emulator owns. font-feature-settings, font-kerning, font-language-override, font-optical-sizing, font-palette, font-size-adjust, font-synthesis, font-synthesis-small-caps, font-synthesis-style, font-synthesis-weight, font-variant, font-variant-alternates, font-variant-caps, font-variant-east-asian, font-variant-emoji, font-variant-ligatures, font-variant-numeric, font-variant-position, font-variation-settings, math-depth, math-style, text-autospace, text-combine-upright, text-rendering, text-shadow

Decoration finer than one cell. border-shape, corner-block-end-shape, corner-block-start-shape, corner-bottom-left-shape, corner-bottom-right-shape, corner-bottom-shape, corner-end-end-shape, corner-end-start-shape, corner-inline-end-shape, corner-inline-start-shape, corner-left-shape, corner-right-shape, corner-shape, corner-start-end-shape, corner-start-start-shape, corner-top-left-shape, corner-top-right-shape, corner-top-shape, frame-sizing, initial-letter, text-box, text-box-edge, text-box-trim, text-decoration-inset, text-decoration-skip-ink, text-decoration-thickness, text-emphasis, text-emphasis-color, text-emphasis-position, text-emphasis-style, text-underline-offset

Print output. page, print-color-adjust

Pointer hardware a terminal does not report. touch-action

Applicable, not implemented #

These properties have a meaning on a character grid and TermDOM does not act on them.

accent-color, all, animation-composition, animation-delay, animation-direction, animation-duration, animation-fill-mode, animation-iteration-count, animation-name, animation-play-state, animation-timing-function, animation-trigger, appearance, background-clip, box-decoration-break, break-after, break-before, break-inside, caret, caret-animation, caret-color, caret-shape, color-scheme, column-count, column-fill, column-height, column-rule, column-rule-color, column-rule-style, column-rule-width, column-span, column-width, column-wrap, columns, contain, contain-intrinsic-block-size, contain-intrinsic-height, contain-intrinsic-inline-size, contain-intrinsic-size, contain-intrinsic-width, container, container-name, container-type, content-visibility, forced-color-adjust, hanging-punctuation, hyphenate-character, hyphenate-limit-chars, hyphens, interactivity, interest-delay, interest-delay-end, interest-delay-start, line-break, orphans, overflow-anchor, overflow-clip-margin, overscroll-behavior, overscroll-behavior-block, overscroll-behavior-inline, overscroll-behavior-x, overscroll-behavior-y, pointer-events, quotes, reading-flow, reading-order, resize, ruby-align, ruby-overhang, ruby-position, scroll-behavior, scroll-margin, scroll-margin-block, scroll-margin-block-end, scroll-margin-block-start, scroll-margin-bottom, scroll-margin-inline, scroll-margin-inline-end, scroll-margin-inline-start, scroll-margin-left, scroll-margin-right, scroll-margin-top, scroll-marker-group, scroll-padding, scroll-padding-block, scroll-padding-block-end, scroll-padding-block-start, scroll-padding-bottom, scroll-padding-inline, scroll-padding-inline-end, scroll-padding-inline-start, scroll-padding-left, scroll-padding-right, scroll-padding-top, scroll-snap-align, scroll-snap-stop, scroll-snap-type, scroll-target-group, scrollbar-color, scrollbar-gutter, scrollbar-width, tab-size, text-justify, text-orientation, text-underline-position, text-wrap-style, timeline-trigger, timeline-trigger-activation-range, timeline-trigger-activation-range-end, timeline-trigger-activation-range-start, timeline-trigger-active-range, timeline-trigger-active-range-end, timeline-trigger-active-range-start, timeline-trigger-name, timeline-trigger-source, transition-behavior, transition-delay, transition-duration, transition-property, transition-timing-function, trigger-scope, unicode-bidi, view-transition-class, view-transition-name, view-transition-scope, widows, will-change, writing-mode

Not yet probed #

No probe covers these and they are unclassified.

border-end-end-radius, border-end-start-radius, border-start-end-radius, border-start-start-radius, flex-line-count, path-length, scroll-axis-lock, text-fit, window-drag