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 #
| feature | supported |
|---|---|
Shadow DOM | yes |
MutationObserver | yes |
ResizeObserver | yes |
IntersectionObserver | yes |
matchMedia | yes |
requestAnimationFrame | yes |
getComputedStyle | yes |
getBoundingClientRect | yes |
Selection / getSelection | yes |
contenteditable | yes |
CSS Custom Highlight API | yes |
Fullscreen API | yes |
<img> | yes |
<canvas> 2d context | yes |
<canvas> charactergrid context | yes |
FormData | yes |
Selectors #
| feature | supported |
|---|---|
Type / class / id | yes |
Descendant | yes |
Child | yes |
Attribute | yes |
Pseudo-class :first-child | yes |
Pseudo-class :nth-child | yes |
Pseudo-element ::before | yes |
Adjacent sibling | yes |
Selector list | yes |
Universal | yes |
At-rules #
| feature | supported |
|---|---|
@media (width) | yes |
@media (height) | yes |
@supports | yes |
@layer | yes |
@scope | yes |
Custom properties (var) | yes |
!important | yes |
Box model #
| feature | supported |
|---|---|
border-top-width | yes |
border-top-style | yes |
border-top-color | yes |
border-right-width | yes |
border-right-style | yes |
border-right-color | yes |
border-bottom-width | yes |
border-bottom-style | yes |
border-bottom-color | yes |
border-left-width | yes |
border-left-style | yes |
border-left-color | yes |
border-block-start-width | yes |
border-block-end-width | yes |
border-inline-start-width | yes |
border-inline-end-width | yes |
border-block-width | yes |
border-block-style | yes |
border-block-color | yes |
border-block | yes |
border-block-start | yes |
border-block-start-style | yes |
border-block-start-color | yes |
border-block-end | yes |
border-block-end-style | yes |
border-block-end-color | yes |
border-inline-width | yes |
border-inline-style | yes |
border-inline-color | yes |
border-inline | yes |
border-inline-start | yes |
border-inline-start-style | yes |
border-inline-start-color | yes |
border-inline-end | yes |
border-inline-end-style | yes |
border-inline-end-color | yes |
border-spacing | no (no effect) |
width | yes |
height | yes |
min-width | yes |
min-height | yes |
max-width | yes |
max-height | yes |
padding | yes |
padding-top | yes |
padding-right | yes |
padding-bottom | yes |
padding-left | yes |
margin | yes |
margin-top | yes |
margin-right | yes |
margin-bottom | yes |
margin-left | yes |
border | yes |
border-width | yes |
border-style | yes |
border-color | yes |
border-top | yes |
border-right | yes |
border-bottom | yes |
border-left | yes |
border-radius | yes |
border-top-left-radius | yes |
border-top-right-radius | yes |
border-bottom-right-radius | yes |
border-bottom-left-radius | yes |
box-sizing | no (no effect) |
aspect-ratio | yes |
outline | yes |
outline-style | yes |
outline-width | yes |
outline-color | yes |
outline-offset | no (no effect) |
Display and positioning #
| feature | supported |
|---|---|
display | yes |
position | yes |
top | yes |
right | yes |
bottom | yes |
left | yes |
z-index | yes |
isolation | yes |
float | no (no effect) |
clear | no (no effect) |
overflow | yes |
overflow-x | yes |
overflow-y | yes |
visibility | yes |
Flexbox #
| feature | supported |
|---|---|
flex-direction | yes |
flex-wrap | yes |
flex-grow | yes |
flex-shrink | yes |
flex-basis | yes |
flex | yes |
justify-content | yes |
align-items | yes |
align-self | yes |
align-content | yes |
order | yes |
gap | yes |
row-gap | yes |
column-gap | yes |
Grid #
| feature | supported |
|---|---|
grid-template-columns | yes |
grid-template-rows | yes |
grid-column | yes |
grid-row | yes |
grid-auto-flow | yes |
Text and paint #
| feature | supported |
|---|---|
color | yes |
background-color | yes |
background-image: linear-gradient() | yes |
background-image: radial-gradient() | no (no effect) |
background-image: url() | no (no effect) |
user-select | yes |
background | yes |
font-weight | yes |
font-style | yes |
text-decoration | yes |
text-decoration-line | yes |
text-decoration-style | no (no effect) |
text-transform | yes |
text-align | yes |
text-indent | yes |
white-space | yes |
word-break | yes |
overflow-wrap | yes |
line-height | no (no effect) |
direction | yes |
opacity | no (no effect) |
font-family | no (no effect) |
font-size | no (no effect) |
letter-spacing | no (no effect) |
word-spacing | no (no effect) |
Lists, tables, counters #
| feature | supported |
|---|---|
list-style-type | yes |
list-style-position | yes |
list-style | yes |
border-collapse | yes |
table-layout | no (no effect) |
vertical-align | no (no effect) |
content | yes |
counter-reset | no (no effect) |
counter-increment | no (no effect) |
Graphical effects #
| feature | supported |
|---|---|
transition | no (no effect) |
animation | no (no effect) |
box-shadow | no (no effect) |
filter | no (no effect) |
cursor | no (no effect) |
Images #
| feature | supported |
|---|---|
object-fit | yes |
object-position | yes |
image-rendering | yes |
Logical properties #
| feature | supported |
|---|---|
margin-block-start | yes |
padding-block-start | yes |
inset-block-start | yes |
margin-block-end | yes |
padding-block-end | yes |
inset-block-end | yes |
margin-inline-start | yes |
padding-inline-start | yes |
inset-inline-start | yes |
margin-inline-end | yes |
padding-inline-end | yes |
inset-inline-end | yes |
margin-block | yes |
padding-block | yes |
inset-block | yes |
margin-inline | yes |
padding-inline | yes |
inset-inline | yes |
inset | yes |
inline-size | yes |
block-size | yes |
min-inline-size | yes |
max-inline-size | yes |
min-block-size | yes |
max-block-size | yes |
flex-flow | yes |
place-content | yes |
place-items | yes |
place-self | yes |
justify-items | yes |
justify-self | yes |
caption-side | no (no effect) |
empty-cells | no (no effect) |
text-align-last | no (no effect) |
text-decoration-color | no (no effect) |
text-overflow | yes |
text-wrap | yes |
text-wrap-mode | yes |
white-space-collapse | no (no effect) |
word-wrap | no (no effect) |
line-clamp | no (no effect) |
counter-set | no (no effect) |
font | yes |
list-style-image | no (no effect) |
grid | yes |
grid-area | yes |
grid-auto-columns | yes |
grid-auto-rows | yes |
grid-column-end | yes |
grid-column-start | yes |
grid-row-end | yes |
grid-row-start | yes |
grid-template | yes |
grid-template-areas | yes |
overflow-block | no (no effect) |
overflow-inline | no (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