- From: Benjamin Poulain <bpoulain@apple.com>
- Date: Thu, 28 Aug 2014 15:36:07 -0700
- To: "Tab Atkins Jr." <jackalmage@gmail.com>
- Cc: Boris Zbarsky <bzbarsky@mit.edu>, www-style list <www-style@w3.org>
On Aug 28, 2014, at 3:30 PM, Tab Atkins Jr. <jackalmage@gmail.com> wrote: > On Fri, Aug 29, 2014 at 8:08 AM, Benjamin Poulain <bpoulain@apple.com> wrote: >> On Aug 28, 2014, at 2:35 PM, Boris Zbarsky <bzbarsky@MIT.EDU> wrote: >>> On 8/28/14, 5:30 PM, Benjamin Poulain wrote: >>>> One obvious example is the matching of :visited. Let say we have “:matches(:visited, .foobar)”. If a link has the class foobar, its style varies if the engine evaluate selectors from left to right or right to left. >>> >>> It shouldn't. Can you give an actual example where it does? >> >> Let say we have: >> >> <style> >> :matches(:visited, a) { >> display:block; >> width: 100px; >> height: 100px; >> background-color: red >> } >> </style> >> <a href=“http://w3.org”>link</a> >> >> If only the first one is match, we are in the “visited” case, and none of the properties apply. If the second one is matched, all the properties apply. > > That still has nothing to do with ordering, unless you assume that > :matches() short-circuits and stops when it first finds a match. (It > probably does, in implementations, but it's not specified as such.) > > If this example really does give any problems for a browser, it's a > bug in their handling of the "UAs may [...] implement other measures > to preserve the user’s privacy while rendering visited and unvisited > links differently." escape hatch. They should ensure that the > :visited styling restrictions don't apply to :visited in :matches() > when a non-:visited branch also matches. As I said in the original email, such interpretation is completely fine with me. I would just like it to be clear/explicit in the text to avoid differences between engines. Benjamin
Received on Thursday, 28 August 2014 22:37:42 UTC