- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Wed, 9 Nov 2011 08:42:17 -0800
- To: Pete Boere <pete@the-echoplex.net>
- Cc: www-style@w3.org
On Wed, Nov 9, 2011 at 4:15 AM, Pete Boere <pete@the-echoplex.net> wrote: > Usually when using the :hover pseudo class it is appropriate to also use the > :focus pseudo class for accesibility reasons. [1] > > Is it possible to have composite pseudo classes for this purpose? > I've implemented a kind of composite pseduo class in a PHP CSS > preprocessor[2] like this: > > .nav a:hocus { ... } > .nav a:pocus { ... } > > compiling to > > .nav a:hover, .nav a:focus { ... } > .nav a:hover, .nav a:focus, .nav a:active { ... } > > internally a substitiution is being made using an :any (:matches) shim [3] > :hocus => :matches(:hover,:focus) > > > [1] > http://www.456bereastreet.com/archive/201004/whenever_you_use_hover_also_use_focus/ > [2] http://the-echoplex.net/csscrush > [3] > https://github.com/peteboere/css-crush/blob/master/plugins/hocus-pocus.php Like Brian said, he and I and Boris Zbarsky have been privately brainstorming over something like this. I think it's quite reasonable to have a mechanism to define aliases for compound selectors. This allows for CSS that is easier to read and maintain (though I personally don't think that 'hocus' and 'pocus' are very good names ^_^). Something like this, perhaps: @selector-alias :my-pseudo :matches(:focus, :active); ~TJ
Received on Wednesday, 9 November 2011 16:43:12 UTC