More power to the people

How can the CSS Working Group give web designers, developers and visitors want they need?

Following much of the discussion over the future, activities and progress of the W3C over recent weeks, Mozilla's David Baron, a member of the W3C's CSS Working Group has published a long and detailed examination of what he believes are the conflicting agendas within the W3C and he proposes a way forward.

What interested me particularly, both as a working designer and as an invited expert to the CSS Working Group, was when David suggested that:

We should work on, and implement, the standards that we think are appropriate for Web browsers, and ignore the rest. We should spend our time improving what Web developers and users want, not waste our time improving what is less important or criticizing what isn't going to work in the first place. That requires considering what's important at a high level before delving in - something that isn't always easy, and is easily forgotten. But we should spend the effort so that we work on what matters.

So I would like to hear your thoughts on what you need. What areas of CSS do you feel that the CSS Working Group should be prioritizing and in what order do you think that they should be tackled?

In Cascading Style Sheets Under Construction the CSS Working Group has published what it believes to be low, medium and high priority developments, but do you agree?

To paraphrase David Baron, How can the Working Group give web designers, developers and visitors want they need?


Replies

  1. #1 On August 23, 2006 02:13 AM ken said:

    I remember a little bit about aural styles for screenreaders from a while ago... it sure would be nice to have something like that, then maybe I could set headings and titles to slightly different speech patterns for a more human feel.
    On the visual design side... I think I'd take a man's life (and I do place a high value on human life) for a little simple math (just addition and subtraction). I think it would make a lot of people's lives a lot easier.
    but maybe I'm looking too far out there... has any of this ever crossed anyone elses mind, or am I just a nut?

  2. #2 On August 23, 2006 03:00 AM Rachel said:

    Man there's some really cool stuff to come aye! Things that I think would be especially cool to see are multiple backgrounds, and the backgrounds and borders. Multi-columns of text would rock, and more control over the fonts and colours. Selectors would be so cool too.

    The main priority seem to me to get things moving. This is not just for the W3C, but also in terms of browser support - and in particular for IE, as IE7 still doesn't support a lot of things.

    But that gripe aside, I am looking forward to when we can actually use this stuff, and I think it's a neat idea to get people's opinion on what is important to them. :o)

  3. #3 On August 23, 2006 08:21 AM Nick Roper said:

    @ken The maths idea has certainly crossed my mind a few times. It would be really neat to be able to set a value at the top of a CSS sheet and then use that in the following definitions (please tell me if I can but just don't know how).

    I know that using relative dimensions, instead of using literal values, goes a long way, but there are still times when calcs or variables for widths, colour settings etc. would be handy.

  4. #4 On August 23, 2006 08:58 AM Julian Stahnke said:

    Something like position: inline-absolute, as dreamed of by Shaun Inman, would be heaven-sent. Or just any means of laying out a page properly without using floats� something grid-like.

    I also like the idea of math�who doesn�t? Writing �width: #container:width-200px� wouldn�t be too shabby. Or even �padding: 10px + 2em�. Only problem is that things could get overly complicated. Give me some basic math and I�d be happy.

    Variables (or rather constants) I think are not needed but would be nice. It�s not too hard to change #FEDCBA fifty times by a simple search and replace. It�d be more for convenience.

    Multiple backgrounds and borders are already on their way., so that�s a no-brainer.

    Now one thing I�d really like but could be really complicated I�m afraid is a simple if-statement to determine if a user has, for example, a specific font. Sometimes you want to use a font with a low x-height that only half of your users have installed. But it�d need a larger size to be readable. If you do that though, the other half gets really big text.

    It could test for CSS-properties as well, like �if text-shadow � else ��. It�s one of the things that would be nice to have, but there�s much more important stuff first.

    Fonts in general could do with a bit more love� it just has to be possible to somehow put fonts somewhere in the web and link them up in your CSS-file. Or something similar.

    But in the end I second Rachel; if we could properly work with what we have, that�d be quite a step forward ;)

  5. #5 On August 23, 2006 09:33 AM Nick Roper said:

    Yeah, I guess I meant constants rather than variables, to do exactly the kind of thing that Julian suggests.

    One approach I've used to date is to create a 'CSS config' file and a related 'CSS template' file that contains the definitions with math expression syntax embedded where appropraite. These are then processed by a script (PHP) which reads the constant values, does the maths and re-writes the main CSS file with the revised values. So, I can reset constants in the config file and then re-build the CSS file from the template. It's handy for larger files, where I'm bound to miss a few adjustments doing it by hand.

    Anyway, back to the original question. At the risk of going off-topic slightly, we're starting to look at AJAX for incorporating dynamic data updates into certain web-based business applications. What's the general feel with the use of AJAX as far as accessibility is concerned - what are the key issues - and is there likely to be consideration for these in future CSS W3C specifications? I've read through the current W3C working drafts, but any thoughts or links to other AJAX/accessibility discussion material would be great.

  6. #6 On August 23, 2006 10:17 AM Jesse Skinner said:

    Maybe I'm misunderstanding what's happening here, but I think it's a great concept to split up CSS specifications into modules like this. Why wait for the entire CSS3 spec to be finished before implementing the new selectors? Parts of the spec can certainly become a recommendation before others.

    I also think being able to test for CSS support would be really helpful, especially in this scenario. And in general, anything already being implemented by safari and firefox I would like to see made a recommendation so that it hopefully appears in IE8 and we can start using it all.

  7. #7 On August 23, 2006 10:20 AM Ben Darlow said:

    How can the Working Group give web designers, developers and visitors want they need?

    Would I be throwing a spanner in the works if I said “don't create anything new”? I think closer integration with the likes of the WHATWG would be a grand idea, as they've come up with some very interesting technologies, but the biggest problem we as developers face is the one we've always faced; lack of standardisation. Developing draft specifications for new standards is pointless so long as there are existing standards which could solve 99.999% of what we want to use the web for, but can't because of lack of user agent support. Get CSS3 finished and into browsers. Get canvas supported by IE (yes, I know Chris Wilson said this won't happen in IE7, and it's unlikely to happen so long as it's not a W3C standard).

    When you consider that — for all the evangelism, grassroots activism and work that the likes of yourself, Molly, Jeff Z, Eric Meyer and so on have done — we still have developers out there creating web content rooted in the tag soup of the late 90s, you can see that developing new standards is simply premature. This isn't a criticism of those developers (although they are worthy targets for criticism); it's simply how it is. Get what most people are using working first.

    For what it's worth, David Baron's article deeply disconcerted me. The only conclusion I could draw from it (which I guess is the conclusion Ian Hickson came when creating WHATWG) was that the W3C isn't the standards body that the web needs, as it doesn't act in the best interests of web users and developers. But then that's what this whole furore has been about from day one, isn't it?

  8. #8 On August 23, 2006 10:52 AM Matt Wilcox said:

    What I'd like from CSS3 is a less complicated and programmer heavy spec. I'd like more of stuff we actually need, rather than 'cool ideas' which, as far as I'm aware, no one has expressed a need for. My most basic and important desire is that i'd like the ability to apply any relevant CSS to any relevant HTML object. Which isn't the case at the moment, both because of browser support issues and a spec that isn't clear.

    For example, why can't I style legends in the same manner I can style a div? Why can't I position generated content absolutely? At its heart every HTML element is a box, so why am I not allowed to treat them all the same way?

    Personally I have never come across a situation where i would need or want:

    � CSS NameSpaces
    � CSS Print Profile
    � CSS Multi-column layout (nice, but inherently unsuitable for the web except in rare circumstances)
    � The majority of features present in 'CSS Advanced Layout' (I don't want templating and tabs in css - that's not where it belongs, those are behaviour properties not display properties)

    Granted, there are likely to be uses for all of these, but they have to be very low on my priority list because I've never wanted to use them!

    One of the things I've always wished for I can't find in the current CSS3 specs;

    position : relative-to(div#header);

    Why oh why oh why has this not been thought of? Am I missing something technical? The goal of CSS is to separate structure from presentation, and yet there are cases where it just can't happen that way. So why can't CSS create it's own 'display DOM' for layout purposes, leaving the real DOM untouched? That would allow the ability to shuffle content placement however we like!

    Unfortunately, I find a lot of CSS3 to be fluff. Assuredly it could become useful fluff, but CSS3 doesn't yet address the issues I'd like it to address - which is all about making it more practical and useful to me as a designer, and less about workflow (CSS templating) and cramming in more and more functionality which is questionable as CSS.

  9. #9 On August 23, 2006 07:55 PM John Arthur said:

    From what I've seen and heard (not having read everything on the W3C CSS3 site), I like CSS3. I have a feeling that once it starts getting mass support, I'll probably act like a kid in a candy store, and it'll be a Web 2.0 version of blink text and rainbow colors (oh the horrors).

    Theres just one thing I feel needs development, and I think Matt Wilcox has already touched on this: CSS as behavior. CSS is supposed to be part of a three-tier system, according to the traditional model (content, presentation, behavior), and keeping those layers seperated has been a big theme of "Web Standards"*. However, a lot of the new CSS features are bordering on (though not entirely crossing over to) the behavior side. I'm both slavering at the possibilities (using content: to generate footnotes!), and a bit confused (using CSS to dynamically generate footnotes?).

    Could it be that we're bending the model almost to a breaking point? While I can't strictly create a split between presentation and behavior with some of these features (and I don't think I'd want to), I think that if we don't find a home for these "cross-bred" features in the "classic model", we'll lose the benefits that such clear distinctions bring (esp. with spreading the word to the unconverted).

    So, I suppose what I, as a (very amateurish) Designer/Developer could use would be the creation of "BSS", or "Behavioral Style Sheets", something that would act as a defined grey area between presentation and behavior. A new layer to the trifle, if I may be so bold (tips hat to Malarky).

    Sorry for the length. Brevity is something I'm working on.

    *Also, sorry for the menial review. I just wanted to be absolutely crystal somewhere.

  10. #10 On August 23, 2006 08:34 PM Matt Wilcox said:

    *John Arthur* : There's often a mis-understanding about CSS generated content. It likely comes from the fact it's called 'content' when really it shouldn't be thought of in the same manner as actual content.

    CSS generated content should really serve two purposes:

    1. adding purely graphical content where there is no mark-up (I use this technique to create none-square thumbnails on my own site http://www.mattwilcox.net/archive/entry/id/647/ if you're interested in learning more )

    2. de-obfuscating existing content. e.g., making the href attribute visable on a print style sheet.

    It shouldn't ever be thought of as adding *semantic* content. For that reason the idea of using CSS to generate footnotes is not really fitting.

  11. #11 On August 23, 2006 08:36 PM Matt Wilcox said:

    Andy, the Markdown syntax works for the live preview, but it's not working on the actual comments. (hence the *'s above)

    (Ed says: Matt, Markdown might work in preview, but does the site mention that you can use it anywhere? ;))

  12. #12 On August 24, 2006 09:01 AM Matt Wilcox said:

    Ed: sneaky! :-)

  13. #13 On August 28, 2006 09:46 PM don said:

    1/. math = great
    2/. a simple zap the cascade mechanism :-D cascade: zero; or cascade: main; (from the main div).
    3/. vertical positioning ... margin: auto; or some other mechanism should center content in a page or page element
    4/. Most important: container elements not being the height of the containing elements is a 'must fix' (div wrap containing a div navigation and a div content). It is completely illogical.

  14. #14 On August 29, 2006 01:46 AM M Jaklitsch said:

    I am just getting to the more advanced stuff of css. I have not found yet, I do not know even if ist exists, which is the ability to position a short paragraph or a few lines next to an img, at the middle or at the bottom. Everything just attaches itself to the top.
    In the old table layout, there were options, why not with css.

    Also how about floating something in the middle of the page, or column or paragraph! Why only left or right?

    I would be very nice to have that option. If it exists I have not been able to find it.

  15. #15 On September 7, 2006 05:18 PM John Arthur said:

    I know I've let it go for a while, but I just saw this article (via Vitamin), and it is essentially discussing my concerns with CSS used for behavior. It brings up a better example than I did with the dynamic footnotes, and that is with CSS Rollovers.

    And though it's easy to say that we shouldn't do this or that with CSS even though we can, what's to stop dynamic footnotes?

    But a bigger problem, if you ask me, is where we draw the line. Are CSS Rollovers behavior, or presentation? As Matt pointed out:

    CSS generated content should really serve twopurposes:

    1. adding purely graphical content where there is no mark-up (I use this technique to create none-square thumbnails on my own site http://www.mattwilcox.net/archive/entry/id/647/ if you're interested in learning more )

    2. de-obfuscating existing content. e.g., making the href attribute visable on a print style sheet.

    But wouldn't creating better functionality with footnotes (generating footnotes that display the "cite" on a blockquote without coding the actual footnote in, let's say) fit those rules, while at the same time seem peskily like behavior?

    Ok, I'm done. I'll wait until the next round. If nothing else, I may start a viscious attempt at an e-mail discussion with someone more knowing than I, unless you people wish to continue the thread. Thanks.

    JA

  16. #16 On September 7, 2006 08:50 PM Guillaume said:

    Decently justified paragraphs. All I'm asking. And yes, that does mean language-specific hyphenation. So what?