It [an INHERIT constant] isn't needed as an enum value
because the 'inherit' keyword takes precedence over
the other enumeration values. See 5.9.11:
"The Keyword values take precedence over
where Keyword is 'inherit'. The code to handle
'inherit' is at line 397
Finn, I've read what you've written above, as well as
what the spec is saying -- but I am confused here. Why does there need to be a precedence-determining
rule in the spec that says "The Keyword values take
precedence over EnumerationToken."? Does anyone know?
Perhaps because 'Keyword' and 'EnumerationToken' is produces with the same lexical rule.
My first thought is that we're only going to have one attribute value between the quotes (i.e., "inherit", "left", "right", "justify", etc.) so I don't see the need for order-of-evaluation rules or declarations of precedence. But are there actually cases where you would have more than one enumeration constant (e.g., "left | justify"?) I must be missing something here.
'azimuth' and 'text-decoration' can have multiple enum values (eg. "overline line-through"). But no property can have "inherit" as well as some other value.