v157 · css · alignment · grammar probe
Keyword probe
Six alignment properties, two new keywords, two probes each: CSS.supports(property, "flow-start") for the static answer, and a setProperty round-trip for the enforcing one — a dropped declaration leaves an empty string behind, which is how you distinguish “parsed and aliased” from “silently discarded”.
Support matrix
| property | supports flow-start | retained | supports flow-end | retained |
|---|
Apply to a live flexbox
Each button sets justify-content on the stage below via setProperty and reads back both the specified and the computed value. On a browser without the keywords, the readout shows the real dropped-value outcome — and the aliased equivalent button row applies the behaviour the spec defines for it, clearly labelled as the shipped spelling.
the probe, exactly
CSS.supports("justify-content", "flow-start"); // static
const el = document.createElement("div");
el.style.setProperty("justify-content", "flow-start");
el.style.getPropertyValue("justify-content");
// "" → dropped: this engine predates the keywords
// "flow-start" → parsed — and per the spec, flex-start would
// ALSO read back as "flow-start" (true aliasing)
Neither probe infers anything from flex-start working — that value has shipped since 2009 and proves nothing about the aliases.