[whatwg] Styling form controls (Was: Re: Forms-related feedback)

Dimitri Glazkov dglazkov at chromium.org
Tue Dec 3 21:39:34 PST 2013


On Tue, Dec 3, 2013 at 9:30 PM, Jonas Sicking <jonas at sicking.cc> wrote:

> On Dec 3, 2013 9:16 PM, "Ian Hickson" <ian at hixie.ch> wrote:
> >
> > On Tue, 3 Dec 2013, Jonas Sicking wrote:
> > > > >
> > > > > Additionally, replacing the rendering rather than styling it is
> > > > > hostile towards new platforms. If everyone had used Shadow-DOM to
> > > > > build their own rendering for <select>s that would have made the
> > > > > transition to mobile much more painful since you'd get a tiny
> custom
> > > > > <select> UIs rather than a more platform-appropriate picker.
> > > >
> > > > Well, there's not much that can be done about that, as far as I can
> > > > tell.
> > >
> > > Allowing targeting parts of the built-in UI using pseudo-elements would
> > > go a long way. I.e. having a ::options-box pseudo-element as well as
> > > other pseodu elements for other components of common implementations.
> > >
> > > This way the UA could ignore the style properties that it can't
> > > implement or that doesn't make sense for its UI.
> >
> > Yeah, agreed. Again, with XBL2, the goal was to define some default
> > bindings (in abstract, not concretely) that user agents were supposed to
> > default to, and those bindings would specify pseudos that specific
> > subparts mapped to (XBL2 had an xbl:pseudo attribute for this). You can
> > actually see the remnants of this in the HTML spec's rendering section,
> > where the widgets are defined in terms of the 'binding' property.
>
> Defining the list of pseudo elements using a XBL2 binding or using prose is
> just two was of doing the same thing. So yeah I think either would work.
>
> The hard part is coming IP with the list I think.
>
> > > > > And then there's of course the separate-but-related issue of being
> > > > > able to style scrollbars, which is another reason websites create
> > > > > sea-of-divs pages today. The reason this is related is that the
> > > > > challenges styling form controls isn't really related to form
> > > > > controls, but rather related to styling of UA-provided UI.
> > > > > Scrollbars is another such UI.
> > > >
> > > > Right. We never developed this very far, but with XBL2 the idea was
> > > > that we'd eventually let you override the binding of a '::scrollbox'
> > > > pseudo, or some such.
> > >
> > > A scrollbar consists of multiple pieces, so you'll need more pseudo
> > > elements. But yes, I think this is the right direction.
> >
> > Yeah, the idea is you'd bind to the scroll box to change the whole scroll
> > UI, but you could also then override specific pseudos of the scroll box
> to
> > style subparts of the default (or custom) scrollbox UI. This part was
> > never very well developed though since the core of XBL2 was never picked
> > up. But I think the same approach should probably still work with the
> > newer Web components work, no? It needs to be specified and
> implemented...
>
> Web components can't define pseudo elements. So no.
>
> This sadly also means that you can't write a CSS which styles the default
> UA UI if that is used, and styles an attached Shadow DOM if that is used.
>

That's simply not true. Where'd you get that?

http://www.w3.org/TR/shadow-dom/#custom-pseudo-elements
http://robdodson.me/blog/2013/11/15/the-cat-and-the-hat-css-selectors/

:DG<



More information about the whatwg mailing list