| ▲ | charcircuit 4 hours ago | |
>but it can’t validate CSS against a renderer which is fundamentally broken! The epub standard doesn't say what version of CSS must be supported. There were no guarantees modern CSS would work so I wouldn't call the renderer broken. | ||
| ▲ | gsnedders 4 hours ago | parent | next [-] | |
You are of course correct that ePub nowadays doesn’t mandate a given version of CSS (though earlier versions did!), but that doesn’t matter in this case: it’s non-conforming according to even CSS level 1 (1996), per https://www.w3.org/TR/REC-CSS1-961217#forward-compatible-par... > illegal values, or values with illegal parts, are treated as if the declaration weren't there at all So a conforming implementation would ignore that max-width property declaration, not raise an error. And those earlier versions of ePub which defined a required subset of given CSS standards? The forwards-compatible parsing rules were part of their subset. | ||
| ▲ | nightpool 4 hours ago | parent | prev | next [-] | |
No, the CSS spec is specifically designed to be forwards compatible because of exactly this issue. Any invalid CSS rule should only cause that specific line to be ignored, not the whole stylesheet. And certainly even if your CSS parser chokes in some specific case, it shouldn't cause your ereader to fail to load the entire book! | ||
| ▲ | acdha 4 hours ago | parent | prev | next [-] | |
The parser is broken. The CSS standard says that parsers MUST ignore properties they don't recognize. | ||
| ▲ | Ardren 4 hours ago | parent | prev | next [-] | |
ePub3 is CSS2.1 (+ some extras) CSS21 standard says "Illegal values. User agents must ignore a declaration with an illegal value." Ignore != Fatal error | ||
| ▲ | ninth_ant 4 hours ago | parent | prev [-] | |
If the renderer completely fails because of a minor issue when parsing the css, that is broken. | ||