- From: Simon Pieters <simonp@opera.com>
- Date: Mon, 17 Nov 2014 10:48:42 +0100
- To: "www-style list" <www-style@w3.org>, "Florian Rivoal" <florian@rivoal.net>
On Fri, 14 Nov 2014 18:28:55 +0100, Florian Rivoal <florian@rivoal.net> wrote: > ... > > === Conclusion === > > We should add a :has-focus selector, included in the fast profile, which: > a - matches on elements that match :focus > b - matches on parents of elements that match :has-focus > c - allows the host language to define additional ways in which an > element can match :has-focus (and then ping the whatwg to do their part) This sounds like a good idea to me. I'm not sure the label part is necessary really, usually you don't focus the label, you focus the control. The "ancestors also match" part of :active and :hover should be in the Selectors spec, not in HTML, but I guess that's a separate issue. > Alternatively (and I would actually prefer that), we could add these b > and c rules to the existing :focus pseudo class. However, given that > :focus is already interoperable in not doing that, I am afraid we’d run > into web compat problems. Anyone has (or can gather) data to check if we > can do that? It seems plausible that there are pages using :focus as a bare selector (or *:focus) and do not want all ancestors to get the style applied. Looking at webdevdata from last year, I see 295 sites out of 102,000 pages using bare :focus or *focus. About 99% is setting outline:0 but one is a menu implemented in CSS with :focus, and some also use $("*:focus") in JS which would return the wrong element if ancestors matched. So I think we shouldn't change :focus. -- Simon Pieters Opera Software
Received on Monday, 17 November 2014 09:48:55 UTC