- From: Dylan Schiemann <dylans@yahoo.com>
- Date: Wed, 29 Oct 2003 13:20:31 -0800
- To: www-style@w3.org
Ian Hickson wrote: > On Sun, 26 Oct 2003, Dylan Schiemann wrote: > >>>BECSS bindings and similar technologies are designed to add stylistic >>>(albeit quite involved) look and feel to documents. >>> >>>They are not designed to add semantics to the document. >> >>Yes, but the flexibility of XBL seems to encourage it (the script >>element for example). > > > No more so than the flexibility of class attributes encourages its own > abuse, IMHO. For annoying abusive cases, I feel that this obfuscates the fact that it is JavaScript that is causing the annoying behavior. >>>For example, BECSS-like technologies could be used to bind the logic to >>>XForms controls. No new semantics -- the XForms controls already have the >>>XForms semantcs -- but a look and feel (and in this case logic) that >>>implements those semantics. >> >>Sure, but why do this through css, and not through the dom using >>addBinding() > > Because (and this is the litmus test that proves the binding is > presentational and not semantic) you want different bindings depending on > the media type of the document. And even on the same media, you want to be > able to use different bindings for different alternate stylesheets. For > example a "cute" stylesheet could use a binding which showed bouncing > bunnies next to :invalid form fields, and hovering on the bunnies could > cause the bunnies to walk into the form field and "fix" the error; while a > "business" stylesheet could use a binding that should showed a red border > and displayed a dialog box when the user exit the field. > > Both cases are conveying the same _semantics_, which were originally set > out in the XForms specification. However, they are giving the user a > different presentation, look, and feel. They are thus stylistic. In the non-annoying case, sure. >>(besides the obvious fact that it is often easier to describe a set of >>elements through css selectors than through DOM, though maybe DOM XPath >>resolves this? maybe DOM Style/CSS needs to be fixed to be able to >>select the same things as css selectors? getElementsByCSSSelector ?) > > > It's also a lot easier to do: > > <style type="text/css"> > @namespace url(http://example.net/); > section { binding: url(bindings#collapsable-sections); } > </style> > > ...than: > > <script type="text/javascript"> > var sections = document.getElementsByTagNameNS('http://example.net/', > 'section'); > for (var index = 0; index < sections.length; ++index) > sections.addBinding('bindings#collapsable-sections'); > </script> Perhaps it could be simplified to something like <script type="text/javascript"> var sections = document.getElementsByTagNameNS('http://example.net/', 'section'); document.addBinding(sections,'bindings#collapsable-sections'); </script> or <script type="text/javascript"> document.addBindingByNS('http://example.net/','section','bindings#collapsable-sections'); </script> or <script type="text/javascript"> document.getElementsByTagNameNS('http://example.net/','section').addBinding('bindings#collapsable-sections'); </script> >>Seems that using uri for 'content' is comparable depending on what is >>allowed in uri (which isn't clear in css2.1 in my opinion). For >>example, could the uri be a document fragment? If so, could it contain >>a stylesheet to define style rules for the inserted content? > > > The result of: > > div { content: url(http://example.com/#test); } > > ...is _visually_ equivalent to: > > <iframe src="http://example.com/#test"/> > > ...although of course the semantics are very different. interesting. I had not realized content could allow so much to be added. Makese sense... just never considered it. >>I agree that it is nice to have this. What happens when bindings are >>added using the addBinding method? Is this the equivalent of adding a >>statement at the end of the stylesheet? Can a binding be added/removed >>using the DOM 2 CSS StyleSheet interface's insertRule/deleteRule instead >>of DocumentXBL's addBinding? I guess my real question here is how do >>DocumentXBL and StyleSheet interact? > > > The above should all be explained at: > > http://www.w3.org/TR/xbl/ > > If it isn't, it would be defined before such a spec went to REC. It wasn't clear after a quick read. For example, I read this "A binding attached through CSS cannot be removed using removeBinding.", but wonder what would happen if I used deleteRule. I'm assuming that it would remove the binding, and fire any binding related events, but it is unclear how the interaction with DOM 2 CSS works from the spec. >>Say for the sake of argument that I were to define an xml syntax lxbl >>(lesser xbl) whose sole purpose was to list pairs of event type and >>event handlers (in other words a small subset of xbl). Would it make >>sense to use css to bind these defintions to selectors? I would say no, >>that it should be done through the DocumentLXBL interface, or through >>some other css-like document that supports selectors, but that isn't >>css. At least that would feel "cleaner" to me. > > > Well, if the language was designed to do stylistic things, then it would > make sense to have CSS bind to it. > > For example, a binding which handled onmousemove and changed the style of > the element based on the position of the pointer with respect to the > element, would be purely stylistic, and so would belong in CSS. If, on the > other hand, the binding defined the form validation logic for an onsubmit > event, then it would make sense for it to either be defined directly > within the document, or have the external logic bound to the form using > inline script. (Note that the first example is basically a fancy :hover, > while the second is a fancy onsubmit="" handler. The bindings logically > belong in the same place as their simpler cousins.) So css selectors then are only to be used for style? I thought that one of the goals of css selectors was to create a general selection mechanism. If that's the case, then where would one use such a selection mechanism for non-styling purposes. >>Whatever, though, I think I'm in the minority on this. > > > Being in the minority isn't a problem, if you're right! In this particular > case, I'm not convinced that you are, though. :-) I'm not convinced that I'm right either. I just feel that the lines of style and structure are being blurred. My secondary points are wondering if selectors can/should be used for other purposes and how, and the interaction of DOM XBL with DOM CSS. -Dylan -- Dylan Schiemann http://www.dylanschiemann.com/ http://www.sitepen.com/
Received on Wednesday, 29 October 2003 16:15:05 UTC