Constructed test page
T01 — <script> element (expect: REMOVED)
T01 visible marker.
T02 — inline event handler onclick (expect: attribute REMOVED, element kept)
T03 — javascript: URL in a link (expect: href REMOVED / neutralised)
T04 — <style> block in body (expect: usually REMOVED)
T04 paragraph (should it be red?)
T05 — <iframe> (expect TinyMCE 7: KEPT but sandbox="" ADDED)
T06 — <object> / <embed> (expect TinyMCE 7: CONVERTED via convert_unsafe_embeds)
T07 — <form> / <input> / <select> (expect: often REMOVED unless allowlisted)
T08 — SVG with inline script (expect: script neutralised; svg may or may not survive)
T08 marker.
T09 — details / summary (expect: config-dependent)
T09 summary
T09 hidden body text.
T10 — figure / figcaption (expect: usually KEPT)
T11 — sectioning: article / aside / nav / header / footer (expect: usually KEPT)
T12 — description list dl / dt / dd (expect: usually KEPT)
- T12 term
- T12 definition
T13 — inline semantics: mark, abbr, time, kbd, samp, var, cite (expect: mixed)
T13 mark T13 abbr Ctrl T13 samp x T13 cite
T14 — sup / sub / s / del / ins / u (expect: mostly KEPT)
E=mc2, H2O, strike, del, ins, underline — T14
T15 — code / pre / blockquote (expect: KEPT)
const t15 = "keep whitespace and indentation";
T15 blockquote
T16 — full table: thead/tbody/tfoot, caption, colgroup, colspan/rowspan (expect: KEPT, maybe normalised)
| H1 | H2 |
|---|---|
| T16 spanning cell | |
| T16 rowspan | b |
| c | |
| foot1 | foot2 |
T17 — img with srcset, loading, referrerpolicy, data-* (expect: some attrs dropped)
T18 — anchor with target, rel, download, data-* (expect: target/rel may be adjusted)
T19 — audio / video / source / track (expect: config-dependent)
T20 — picture / source (expect: often flattened to img)
T21 — class / id / title / dir / lang (expect: KEPT)
T21 attributes
T22 — data-* attributes (expect: usually KEPT in TinyMCE, verify)
T22 data-attributes
T23 — aria-* and role (expect: usually KEPT)
T23 aria
T24 — inline style properties (expect: some props dropped, e.g. position/display)
T24 inline styles
T25 — misc attributes: contenteditable / hidden / tabindex / spellcheck / draggable (expect: mixed)
T25 misc attrs
T26 — custom element / web component (expect: unknown tag unwrapped unless custom_elements set)
T26 custom element contentT27 — unknown attribute on a known element (expect: attribute dropped)
T27 unknown attributes
T28 — HTML comment inside content (expect: often REMOVED)
T28 beforeafter
T29 — conditional comment / MSO (expect: REMOVED)
T29 marker.
T30 — entities & whitespace: , empty element, multiple spaces (expect: normalised)
T30 three nbsp spaces and three plain spaces
T30 empty <p> above — did it survive?
C01 — display:grid + grid-template-columns + minmax/auto-fit + gap
C01 cell A
C01 cell B
C02 — flex-wrap + justify-content + align-items + gap
C02 flex child (flex:1 1 200px)
C02 flex child
C03 — clamp() / min() / max() in font-size, padding, width
C03 fluid values
C04 — aspect-ratio + object-fit
C04 aspect-ratio box
C05 — transform + transition + box-shadow + border-radius + opacity
C05 visual props
C06 — custom properties + var() + calc()
C06 variables + calc
C07 — position:sticky + top + z-index + overflow
C07 sticky container
C08 — background shorthand with gradient + background-size/position
C08 gradient background
C09 — logical properties + inset + gap on grid
C09 logical/inset props
C10 — class alongside inline (does the class attr survive AND does it style?)
C10 class + inline (class only styles if your site CSS defines .vc-card)