closedby=closerequest should be closedby=close-request
What is the issue with the HTML Standard?
TAG's Casing Rules state that enumerated values for attributes should be lowercase, dash-delimited.
closedby=closerequest is not dash-delimited. Admittedly this completely flew by me while implementing it in Firefox until just now, when we're imminently shipping.
Perhaps we can change this? Perhaps we can do so safely by keeping around the closerequest value but deprecating it? What are people's thoughts?
/cc @mfreed7 @smaug----
TAG's Casing Rules state that enumerated values for attributes should be lowercase, dash-delimited.
Perhaps I'm reading it wrong, but it says this of "Enumeration values" and links to "no-referrer-when-downgrade" as the example, which is defined explicitly as an enum ReferrerPolicy { and is a list of HTTP header field values. But closedby is an "enumerated attribute", which rhymes but I'm not sure it's the same thing? There aren't too many examples of multi-word enumerated attribute values, but there are a few:
Most of those don't use a dash. I'm in favor of leaving it as-is, given that this is shipped. It's roughly consistent (see list above) with others, and change is painful for developers. I'm not sure what the benefit (to developers) would be of renaming, having multiple values for a while, changing MDN, etc.
Perhaps I'm reading it wrong, [...]
I think that's a reasonable interpretation, I don't know what's the correct interpretation here. However I do recall this exact issue coming up with the various command attribute values, see https://github.com/openui/open-ui/issues/1072 & https://github.com/openui/open-ui/issues/969.
I'm in favor of leaving it as-is, given that this is shipped.
Me too, to be honest I was reticent to even raise this - let sleeping dogs lie - but it would be nice to know if for future attributes we should go one way or another. Having a mixture definitely feels inconsistent.
Yes, HTML attribute values are not enumerations.
But browsing through https://html.spec.whatwg.org/multipage/indices.html#attributes-3 for other examples, I only find modulepreload, rowgroup, and colgroup as examples of the smashedtogethercase. Whereas the new command="" values, plus the existing iframe sandbox="" values, meta http-equiv="" values, use-credentials, colorspace="" values, and until-found all use kebab-case.
EDIT: link rel=""s are inconsistent, e.g. we have privacy-policy, terms-of-service, dns-prefetch, but also modulepreload, nofollow/noopener/noreferrer, and arguably stylesheet.
So, it would probably be good to document this. I'm not sure whether it's worth switching closerequest.
Inconsistent is on-brand for HTML. 😉
I think dashed names for attribute values are generally nicer, for future naming of tokens, but not worth changing something already shipped.