Ramonda

tag-needs-its-parent

This fails the run. Where it is wrong about your code, // ramonda-check-ignore <reason> on the line says so, and the reason is printed on every run.

Reported when a tag is written outside the parent it requires — <tr> with no table above it, <option> with no select.

The framework reports the same fault while running, as RMD028 — but only once the line actually runs. This is the same fault proved from the source instead.

The HTML parser does not leave these where they are written. It moves them, drops them, or closes the element it was in the middle of — so the tree the browser builds is not the tree in your source, and every measurement, selector and hydration step after that reasons about the wrong one.

On a server-rendered page the symptom is especially misleading: the parser moves the node, the client's tree stops matching the server's, and it is reported as a hydration mismatch whose advice is about clocks and random numbers.

An element reached through a component is NOT reported here — what a component renders is decided inside it, and it may well be the parent this tag needs.

Next