Status: FAIL | Duration: 91ms | Subtests: 0/112 | Open test on wpt.live | wpt.fyi
Data from commit:
a50cb89 wpt: run reference-named files which are themselves tests (#836) (2026-09-03)
| Subtest | Status | Message |
|---|---|---|
| retrieve style rule | FAIL | cannot convert 'null' or 'undefined' to object |
| backgroundAttachment should be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| backgroundBlendMode should be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| backgroundClip should be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| backgroundColor should be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| backgroundImage should be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| backgroundOrigin should be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| backgroundPosition should be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| backgroundRepeat should be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| backgroundSize should be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| color should be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| fontFamily should be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| fontFeatureSettings should be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| fontKerning should be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| fontSize should be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| fontSizeAdjust should be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| fontStyle should be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| fontVariant should be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| fontWeight should be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| fontVariationSettings should be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| letterSpacing should be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| opacity should be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| textDecoration should be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| textJustify should be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| textShadow should be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| textTransform should be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| textUnderlinePosition should be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| verticalAlign should be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| wordSpacing should be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| border should not be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| borderImage should not be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| borderRadius should not be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| margin should not be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| padding should not be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| position should not be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| transition should not be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| transform should not be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| wordBreak should not be applied to first-line pseudo elements (display:block) | FAIL | cannot convert 'null' or 'undefined' to object |
| backgroundAttachment should be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| backgroundBlendMode should be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| backgroundClip should be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| backgroundColor should be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| backgroundImage should be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| backgroundOrigin should be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| backgroundPosition should be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| backgroundRepeat should be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| backgroundSize should be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| color should be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| fontFamily should be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| fontFeatureSettings should be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| fontKerning should be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| fontSize should be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| fontSizeAdjust should be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| fontStyle should be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| fontVariant should be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| fontWeight should be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| fontVariationSettings should be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| letterSpacing should be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| opacity should be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| textDecoration should be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| textJustify should be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| textShadow should be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| textTransform should be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| textUnderlinePosition should be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| verticalAlign should be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| wordSpacing should be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| border should not be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| borderImage should not be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| borderRadius should not be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| margin should not be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| padding should not be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| position should not be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| transition should not be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| transform should not be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| wordBreak should not be applied to first-line pseudo elements (display:inline) | FAIL | cannot convert 'null' or 'undefined' to object |
| backgroundAttachment should be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| backgroundBlendMode should be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| backgroundClip should be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| backgroundColor should be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| backgroundImage should be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| backgroundOrigin should be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| backgroundPosition should be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| backgroundRepeat should be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| backgroundSize should be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| color should be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| fontFamily should be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| fontFeatureSettings should be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| fontKerning should be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| fontSize should be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| fontSizeAdjust should be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| fontStyle should be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| fontVariant should be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| fontWeight should be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| fontVariationSettings should be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| letterSpacing should be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| opacity should be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| textDecoration should be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| textJustify should be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| textShadow should be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| textTransform should be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| textUnderlinePosition should be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| verticalAlign should be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| wordSpacing should be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| border should not be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| borderImage should not be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| borderRadius should not be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| margin should not be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| padding should not be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| position should not be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| transition should not be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| transform should not be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
| wordBreak should not be applied to first-line pseudo elements (display:flex) | FAIL | cannot convert 'null' or 'undefined' to object |
/css/css-pseudo/first-line-allowed-properties.html
<!DOCTYPE html> <title>CSS Test: Properties allowed on ::first-line pseudo elements</title> <link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#first-line-styling"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <style> #target::first-line {} #target { visibility: hidden; } </style> <div id="target">text</div> <script> let style; const target = document.querySelector("#target"); const defaultComputedStyle = getComputedStyle(target); test(() => { var styleRule = document.styleSheets[0].cssRules[0]; assert_equals(styleRule.selectorText, "#target::first-line", "make sure we have the correct style rule"); style = styleRule.style; }, "retrieve style rule"); const validProperties = { backgroundAttachment: "fixed", backgroundBlendMode: "hue", backgroundClip: "padding-box", backgroundColor: "rgb(10, 20, 30)", backgroundImage: "linear-gradient(rgb(0, 0, 0), rgb(255, 255, 255))", backgroundOrigin: "border-box", backgroundPosition: "50% 50%", backgroundRepeat: "no-repeat", backgroundSize: "10px 20px", color: "rgba(10, 20, 30, 0.4)", fontFamily: "sans-serif", fontFeatureSettings: '"vert" 2', fontKerning: "none", fontSize: "30px", fontSizeAdjust: "0.5", fontStyle: "italic", fontVariant: "small-caps", fontWeight: "900", fontVariationSettings: '"XHGT" 0.7', letterSpacing: "12px", opacity: "0.5", textDecoration: "overline wavy rgb(10, 20, 30)", textJustify: "none", textShadow: "rgb(10, 20, 30) 10px 20px 30px", textTransform: "capitalize", textUnderlinePosition: "under", verticalAlign: "12%", wordSpacing: "12px" }; // The css-pseudo-4 specification says only certain properties _apply_, // which is different from computed values, but browsers implement this // interoperably. Also, the inheritance section saying properties not in // the list that apply to ::first-line are inherited from the non-pseudo // parent instead, is also an indication this is the intent of the spec. // // Similarly, there was a resolution for highlight pseudos along the same // lines: // https://github.com/w3c/csswg-drafts/issues/7591 const invalidProperties = { border: "40px dotted rgb(10, 20, 30)", borderImage: "linear-gradient(rgb(0, 0, 0), rgb(255, 255, 255)) 10% / 20 / 30px repeat", borderRadius: "10px 20px", margin: "10px 20px 30px 40px", padding: "10px 20px 30px 40px", position: "absolute", transition: "transform 1s", transform: "rotate(45deg)", wordBreak: "break-all" }; function testFirstLineProperty(property, rule, expected, reason) { test(function() { style[property] = ""; style[property] = rule; assert_equals(getComputedStyle(target, "::first-line")[property], expected); style[property] = ""; }, reason); } for (let property in validProperties) { testFirstLineProperty(property, validProperties[property], validProperties[property], property + " should be applied to first-line pseudo elements (display:block)"); } for (let property in invalidProperties) { testFirstLineProperty(property, invalidProperties[property], defaultComputedStyle[property], property + " should not be applied to first-line pseudo elements (display:block)"); } target.style.display = "inline"; for (let property in validProperties) { testFirstLineProperty(property, validProperties[property], validProperties[property], property + " should be applied to first-line pseudo elements (display:inline)"); } for (let property in invalidProperties) { testFirstLineProperty(property, invalidProperties[property], defaultComputedStyle[property], property + " should not be applied to first-line pseudo elements (display:inline)"); } target.style.display = "flex"; for (let property in validProperties) { testFirstLineProperty(property, validProperties[property], validProperties[property], property + " should be applied to first-line pseudo elements (display:flex)"); } for (let property in invalidProperties) { testFirstLineProperty(property, invalidProperties[property], defaultComputedStyle[property], property + " should not be applied to first-line pseudo elements (display:flex)"); } </script>