whatwg/html-build

Builds are failing due to Validator.nu change

Closed this issue · 15 comments

@sideshowbarker added a new feature to check <style> in validator/validator#560 and this is biting us badly.

"file:/whatwg/output/multipage/images.html":8-8: error: Unknown pseudo-element or pseudo-class :focus-within
"file:/whatwg/output/multipage/images.html":85-85: error: CSS error: “content”: leader(". ") is not a content value: 
"file:/whatwg/output/multipage/images.html":96-96: error: CSS error: “content”: leader(". ") is not a content value: 
"file:/whatwg/output/multipage/images.html":155-155: error: CSS error: “fill”: Property fill doesn't exist: 
"file:/whatwg/output/multipage/images.html":156-156: error: CSS error: “fill”: Property fill doesn't exist: 
"file:/whatwg/output/multipage/images.html":157-157: error: CSS error: “text-anchor”: Property text-anchor doesn't exist: 
"file:/whatwg/output/multipage/named-characters.html":8-8: error: Unknown pseudo-element or pseudo-class :focus-within
"file:/whatwg/output/multipage/named-characters.html":85-85: error: CSS error: “content”: leader(". ") is not a content value: 
"file:/whatwg/output/multipage/named-characters.html":96-96: error: CSS error: “content”: leader(". ") is not a content value: 
"file:/whatwg/output/multipage/named-characters.html":155-155: error: CSS error: “fill”: Property fill doesn't exist: 
"file:/whatwg/output/multipage/named-characters.html":156-156: error: CSS error: “fill”: Property fill doesn't exist: 
"file:/whatwg/output/multipage/named-characters.html":157-157: error: CSS error: “text-anchor”: Property text-anchor doesn't exist: 
"file:/whatwg/output/multipage/webappapis.html":8-8: error: Unknown pseudo-element or pseudo-class :focus-within
"file:/whatwg/output/multipage/webappapis.html":85-85: error: CSS error: “content”: leader(". ") is not a content value: 
"file:/whatwg/output/multipage/webappapis.html":96-96: error: CSS error: “content”: leader(". ") is not a content value: 
"file:/whatwg/output/multipage/webappapis.html":155-155: error: CSS error: “fill”: Property fill doesn't exist: 
"file:/whatwg/output/multipage/webappapis.html":156-156: error: CSS error: “fill”: Property fill doesn't exist: 
"file:/whatwg/output/multipage/webappapis.html":157-157: error: CSS error: “text-anchor”: Property text-anchor doesn't exist: 
"file:/whatwg/output/multipage/edits.html":8-8: error: Unknown pseudo-element or pseudo-class :focus-within
"file:/whatwg/output/multipage/edits.html":85-85: error: CSS error: “content”: leader(". ") is not a content value: 
"file:/whatwg/output/multipage/edits.html":96-96: error: CSS error: “content”: leader(". ") is not a content value: 
"file:/whatwg/output/multipage/edits.html":155-155: error: CSS error: “fill”: Property fill doesn't exist: 
"file:/whatwg/output/multipage/edits.html":156-156: error: CSS error: “fill”: Property fill doesn't exist: 
"file:/whatwg/output/multipage/edits.html":157-157: error: CSS error: “text-anchor”: Property text-anchor doesn't exist: 

I think this makes everything fail at the moment.

@tobie I suspect this is also what's blocking Preview PR from generating something for whatwg/html#3273?

tobie commented

I suspect this is also what's blocking Preview PR from generating something for whatwg/html#3273?

I don't think that failure is related, actually. From the logs, it seems the html differ was returning a 502. I don't think it's relying on validator.nu.

Same here since validator updated to validate <style> elements content:

Error: CSS error: “background-color”: Parse Error: Encountered " "-" "- "". Was expecting one of:     <S> ...     <IDENT> ...     <IDENT> ...      “var(--bokeh-event)”
On line 4
Error: CSS error: “background-color”: Parse Error: Encountered " "-" "- "". Was expecting one of:     <S> ...     <IDENT> ...     <IDENT> ...      “var(--bokeh-event-highlight)

Validation seems to not support css variables. :(

Sorry about breaking the build. It should be fixed now (by validator/validator@5d278fd)

Validation seems to not support css variables. :(

@patbator Please raise an issue for that at https://github.com/validator/validator/issues

(For now, rather than adding support for CSS variables to the CSS checker, I’ll probably need to work around it by just making the HTML checker suppress those messages — which is what I did for the errors cited in the issue description for this issue here.)

Some of the validator errors might be correct and worth looking in to; in particular I'm wondering what's going on with the content/leader business.

leader() is from https://www.w3.org/TR/css-gcpm-3/ which is presumably used for generating our PDF.

Some of the validator errors might be correct and worth looking in to; in particular I'm wondering what's going on with the content/leader business.

leader() is from https://www.w3.org/TR/css-gcpm-3/ which is presumably used for generating our PDF.

Yeah, the stylesheet in the spec has this:

#table-example-1 tbody td:first-child::after { content: leader(". "); }

…which is valid per https://drafts.csswg.org/css-content-3/#leader-function

That spec has the following example:

ol.toc a::after {
  content: leader('.') target-counter(attr(href), page);
}

Note that the following messages were getting emitting because I was mistakenly calling the CSS checker API without the SVG profile included —

"file:/whatwg/output/multipage/images.html":156-156: error: CSS error: “fill”: Property fill doesn't exist: 
"file:/whatwg/output/multipage/images.html":157-157: error: CSS error: “text-anchor”: Property text-anchor doesn't exist: 

So I fixed that by including the SVG profile.

The only message not already covered in comments above is this one:

"file:/whatwg/output/multipage/images.html":8-8: error: Unknown pseudo-element or pseudo-class :focus-within

:focus-within is valid per https://drafts.csswg.org/selectors-4/#the-focus-within-pseudo

So as far as I can see the HTML spec stylesheet’s not using any invalid CSS.

Thanks, though note that I only included a subset of the total output, although I guess it would just be repeats since it's the same for each document. So given that, closing.

Thanks for checking on my concerns all :)

This has regressed somehow and builds are failing again.

Should be fixed now. Problem was that the formatting of the messages changed — I added and curly quotations marks around the literals in the messages:

Unknown pseudo-element or pseudo-class “:focus-within”
“leader(". ")” is not a “content” value

Those were unquoted before, and the old filter expression didn’t account for the quotation marks.

I’ll add some tests so that I don’t regress it again.

In web-platform-tests/wpt@bf24230 I added a test for catching this problem if it ever regresses again.