Slashdot Mirror


Designing With Web Standards

Trent Lucier writes "If you've browsed the web design section of any bookstore lately, you've seen him staring at you. The blue hat. The mustache. The blinding neon background. He's Jeffrey Zeldman, publisher of the influential web development magazine, 'A List Apart' and author of the book Designing With Web Standards (DWWS). The first edition of the DWWS was published in 2003, and now 2006 brings us an updated 2nd edition. In a market flooded with XHTML, CSS, and web standards books, is DWWS 2nd Ed. still relevant?" Read the rest of Trent's review for the answer. Designing With Web Standards, 2nd Ed. author Jeffrey Zeldman pages 410 publisher New Riders rating 8.5 reviewer Trent Lucier ISBN 0321385551 summary Foundations for creating standards-based websites using XHTML and CSS.

DWWS is more of a survey course than a deep dive into a particular topic. In fact, a large part of the book is dedicated to the philosophy of web standards, as opposed to their specific implementation. The reader is given background information on the turbulent early years of the web, when Netscape and Microsoft battled each other with proprietary features, driving coders crazy and sending development costs through the roof. Inconsistent support for HTML, JavaScript and CSS often meant that a single page had to have multiple versions written to support different browsers. Predictably, many companies decided to "standardize" their websites on one browser (usually Internet Explorer), causing much pain for users who wanted or needed to use other programs.

Out of this mess came the web standards movement, whose goal was to encourage browser-agnostic design practices. However, the web standards proponents faced several problems at the outset. "Standards compliant design" was synonymous with "ugly." CSS was a 4-letter word, due to buggy and inconsistent browser support. Additionally, few people understood that standards compliance was a continuum and not an all-or-nothing affair.

Which brings us to Zeldman's book. Part 1 of DWWS explains the concepts above in terms that non-technical people can understand. The book states that it is for "designers, developers, owners, and managers..." Of course, the idea that a non-technical person would choose to read a book on web standards doesn't comply with what I like to call "reality." But tech leads may find some ammunition in these chapters for their arguments with management about the benefits of browser-neutral web design.

XHTML and CSS are the main focus of the second part of the book. Readers without any HTML experience will likely have difficulty following these chapters. Those with some experience will learn to master the DOCTYPE, tame font sizes, and conquer annoying Internet Explorer bugs.

Zeldman is a pragmatist, never forgetting that his readers live in the real world with real limitations. Some developers still have to support older browsers, or integrate with proprietary technologies (ex: Flash and Quicktime). He recommends solutions for these circumstances, letting his audience know the pros and cons of each approach. Early in the book, Zeldman states his motto of "No Rules. No Dogma." The book adheres to that statement, explaining that some standards can be maddeningly vague, or that the XHTML Strict DOCTYPE isn't for everyone.

As always, Internet Explorer 6 requires special attention. The (in)famous CSS box model hack is explained, in which jujitsu-like techniques are used to fix one IE bug (the way width is measured) by exploiting another (broken support for the CSS voice-family rule):

.content
{
width:400px; /* All browsers read this line */
voice-family: "\"}\""; /* IE chokes here and bails out of this block */
voice-family:inherit;
width:300px; /* Other browsers make it to the end and use the correct width */
}

Every time someone codes this, a kitten dies. But it is valid markup, and it is used by many standards supporters. A few references to IE7's improvements are sprinkled here and there, but this book was published before the browser was formally released so don't expect too much info.

One of the hottest topics in CSS is the pure CSS-based layout. Pure CSS layouts usually involve the concept of floating elements and calculating widths. In DWWS, we get a chapter dedicated to the hybrid layout. Hybrid layouts make use of CSS and HTML tables to layout a page, although the table usage is minimized. Zeldman is correct to take this approach, which gives readers practical advice and then lets them decide if they want to move on to more complicated CSS layouts.

The chapter on accessibility is one of the most illuminating. Zeldman has well-reasoned retorts to all the common graphic designer excuses for ignoring accessibility. Accessibility does not mean that a site has to be ugly. Rather, accessibility is something that happens under the hood, in the markup itself. The business case for accessibility is also strongly made. Think you can ignore blind users because your flashy site targets a small, hip audience? Be prepared to get punished by Google, since the GoogleBot is the most powerful blind user on the web ("The Blind Billionaire", as it is called in the book).

A brief chapter is dedicated to DOM-based scripting (aka JavaScript), and the discussion is mostly limited to what scripting can do, and not how to do it. The DOM (Document Object Model) is the model for describing the hierarchy of content on a webpage. Modern techniques like AJAX make extensive use of the intimate relationship between XHTML, CSS, and JavaScript DOM support. However, accessibility, usability, and maintainability are still challenges in the hyper-scripted world of Web 2.0. Zeldman doesn't offer much advice on these topics, but provides a book list for further reading.

I have not read the first edition of DWWS, but the second edition makes it clear where Zeldman has changed tactics and techniques. For example, the image replacement technique described in the first edition wasn't accessible in certain screen readers, so improvements are suggested in the second edition.

Overall, DWWS is a good book for web developers that already know the basics of HTML and CSS, but want to update their 1997 coding techniques. Those new to web design, however, may want to start with a book that is a little more comprehensive. Zeldman does a good job of explaining how to create leaner, lower-cost, and more maintainable web sites. On more than one occasion, I put down this book mid-sentence, loaded up my text editor, and was able to make a quick change to solve a problem that was bugging me. In a book dedicate to making the web designer's life easier, what more can you ask for?

Trent Lucier is a software engineer. His latest experiment is localhost80.com

You can purchase Designing With Web Standards, 2nd Ed. from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

154 comments

  1. In my experience. by Kenja · · Score: 2, Funny

    In my experience, you can do it with standards, or you can make it look like the client wants it to look like, which requires at least two sets of scripts for the diferent browsers. Then you run into things like ActiveX maps and OWC objects and give up on it working in anything other then IE. Then you go have a stiff drink.

    --

    "Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
    1. Re:In my experience. by truthsearch · · Score: 1

      That's never been my experience. 99% of the time I can get things to look just about the same (or close enough) in every browser. For example, if the floating divs are acting different in each browser, use a table. There's nothing that's ever been requested of my company that requires ActiveX. Worst case we use Flash for a few things, and that works consistently for almost every visitor. Unless you're developing for an intranet there's no reason to use ActiveX or IE specific code.

    2. Re:In my experience. by Kenja · · Score: 2, Insightful

      I'm doing web dashboards for 6SIGMA and ISO systems. I'm trying to hammer together OWC, ActiveX, Lotus Domino, Apache, JBoss, mySQL, Flash objects, kettle, jfree reports, and a bunch of other stuff.

      If it works in any browser at all I'll call it a sucsess.

      --

      "Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
    3. Re:In my experience. by Programmer_In_Traini · · Score: 1

      That's because most of the time we fail to explain to the client the importance of not putting the UI on the backburner.

      IE allows to develop a page rapidly and make it look pretty in IE only. I actually suspect MS to have done a lot of work to find out how most developers work, find out how they'd want to do things and then make IE to allow them to do that. Who cares if it standard or not.

      That's how you develop IE-dependency, have developers be able to get their work done faster and force them to put a "best viewed in IE" label on their page.

      Most of the time, a client wont be willing to let you spend 20 hours on the UI. so the dev wants to make a cheap and dirty UI but with the functionality the client wants.

      its also part of the reason why tables are so popular (or css less so), its because its so easy and straightforward to work with.

      ive been in the area for more or less 10 years now and it always makes me damn when i hear my bosses not explaining properly that a better ui means better usability and a broader audience (more $$$ for the client).

      But that is still the reality of things and as long as CSS is not as easy and quick to work with as tables are, people are gonna go for tables or IE-only css sites.

      --
      If you look like your passport photo, you're too ill to travel. - Will Kommen
    4. Re:In my experience. by metlin · · Score: 3, Insightful

      Obviously you have not had to interact or work with other third party applications. Try having a Siebel app look exactly the same on Firefox. :-\

      A lot of these applications use almost entirely ActiveX and simply do not work well with alternate browsers. It simply isn't possible, and sometimes you just have to resort to having the app supported on just one browser.

      Then why do companies use them? Legacy.

      You see, these apps have been around forever, and people have been using them forever with a lot of investment made into them, and folks aren't ready to just give it all up. Of course, they ignore such things as TCO (e.g. having a Microsoft environment with IE, money spent on security and combating worms etc).

      So, the end result is problems like this.

    5. Re:In my experience. by Kenja · · Score: 1

      More or less. If you say it will cost twice as much and take twice as long to support another 15-20% of the market thats a losing argument.

      --

      "Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
    6. Re:In my experience. by gblues · · Score: 1

      In my experience, you can do it with standards, or you can do it so it renders properly in Internet Explorer.

      Nathan

    7. Re:In my experience. by Programmer_In_Traini · · Score: 1

      a developer usually doesn't have to spend THAT much more time making a UI that works everywhere, as long as its known from the start.

      Usually the browser support drops right about when the boss starts giving in to all the bells and whistles features the client wants.

      All usual, its always a game of give and take. and there's always a point where it costs too much in terms of development time to do it all so you narrow it down to FF and IE for instance.

      but, most of the time, it is feasible to deliver a good ui that works on all modern browsers in a reasonable way so that it satisfies the client, satisfies (most) W3C requirements and dont take too much time to do.

      --
      If you look like your passport photo, you're too ill to travel. - Will Kommen
    8. Re:In my experience. by truthsearch · · Score: 1

      When I have to deal with third party apps that aren't built to integrate well with web standards we set up some form of data communication between servers. The web interface remains standard while the backend communicates in any way necessary, from SOAP to raw data feeds, with other systems.

    9. Re:In my experience. by Doctor+Memory · · Score: 1

      IE allows to develop a page rapidly and make it look pretty in IE only I dunno, on my current project I had to develop a prototype/mock-up of our web GUI. I stuck IE7 on one monitor, FF2 on the other and pointed them both to the page I was working on. Edit, save, click "Refresh" on two browsers and see exactly what the clients will see. Worked just the same when I got the layout done and started working on the javascript.

      Fortunately, it's a web app, not a shopping site. I'm sure I'd have the same problems real web designers have if I had to have lots of flashy graphics with curved corners and rollovers and whatnot. Still, it's not a problem developing on two different browsers simultaneously — unless you've got a morbid fear of hand-editing HTML...
      --
      Just junk food for thought...
    10. Re:In my experience. by spyrral · · Score: 1

      In my experience, I've always been able to use web standards and compliant hacks to get the site looking the way the client wants. I never write multiple sets of scripts; instead I rely on proven "object-sniffing" code to branch for different js implementations, or better yet use a library that abstarts browser differences for me.

      I've worked with a lot of developers that have used that kind of "pragmatism" to excuse the fact that they don't want to bother learning new techniques. They always end up creating more work for the people who have to come in and clean up their code later.

    11. Re:In my experience. by grcumb · · Score: 2, Insightful
      If you say it will cost twice as much and take twice as long to support another 15-20% of the market thats a losing argument.

      Look, I failed math three years running in high school, but it still only took me about 1.7 seconds to spot the logical flaws in your equation:

      • If you believe that using CSS and web standards take twice as long and cost twice as much, then you've never seriously tried to use them. And you've certainly never had to manage style changes over tens or hundreds of thousands of documents, or even a few dozen dynamic pages. CSS is one of the greatest gifts to web design I've seen since I started developing websites back in 1995.
      • Just because results don't scale with effort doesn't mean that it doesn't make fantastically good sense to invest more in a development project in order to get it right. The first question you have to ask is, 'How big is that 15%?' Believe me, if that notional 15% earns you hundreds of thousands for an investment of another 10-20K, there's not a manager in the world wouldn't go for it. But you'd have to be able to do math to explain it.
      • If you think that using web standards affects only the (significant) minority of users who don't run MSIE, then you don't understand the issue. Web standards ensure consistency, simplicity and predictability. Any good project designer knows the importance of these, and will fight hard to ensure that they're adhered to. One of reasons behind Google's great engineering triumphs in scalability is their ability to focus on simplicity. They don't have a blind adherence to standards (no one should), but you can see a clear preference to keep things simple, consistent and platform-neutral. Standards help achieve this.

      IME, staying away from the perils of complexity is much easier when one focuses on sticking close to the standards, and to avoiding most of the pointy-clicky 'web development' toolkits around. There's simply no substitute for a clean, hand-crafted implementation automated carefully and sanely. It keeps maintenance costs down and makes it possible to scale with far fewer of the headaches associated with proprietary - and constantly, arbitrarily changing - pseudo-standards.

      --
      Crumb's Corollary: Never bring a knife to a bun fight.
    12. Re:In my experience. by Bucc5062 · · Score: 1

      I think you got the order wrong, Start with the stiff drink, it makes the other steps go down easier.

      --
      Life is a great ride, the vehicle doesn't matter
    13. Re:In my experience. by SoulRider · · Score: 1

      That is also my experience. On the project I work on we have always tried to adhere to standards (some of our users come from environments where IE is just not available), this has had the effect that I havent had to think about browser compatibility in about 2 years. We have still managed to create a site that is constantly getting kudos from our customers and the big boys in the company, yet we havent sacrificed any usability by following standards. As far as I am concerned ActiveX, OWC, Ajax and Flash are mechanisms lazy people use so they dont have to think about the tough problems (of course I am not including people working in legacy environments in this statement, you dont have control of what was implemented in the past). Most people use way too much flair on their website, keep it simple stupid, google got to where they are today by giving the customers just what they needed and nothing more.

    14. Re:In my experience. by metlin · · Score: 1

      Sure, if the said applications support such communication.

      What if they are intentionally built to obfuscate and prevent such communication (i.e. lock-in).

      Most CRM apps out there are built that way, which makes it extremely hard for external applications to interface and work with these applications.

    15. Re:In my experience. by nine-times · · Score: 1

      In my experience, you can do it with standards, or you can make it look like the client wants it to look like, which requires at least two sets of scripts for the diferent browsers

      It requires two sets of scripts to get it to look a certain way? What kinds of scripts are these, that are controlling the "look" of the web page, and why are you writing two?

      Then you run into things like ActiveX maps and OWC objects and give up on it working in anything other then IE.

      Sounds like a good reason not to use ActiveX or OWC.

    16. Re:In my experience. by Anonymous Coward · · Score: 0

      A lot of these applications use almost entirely ActiveX and simply do not work well with alternate browsers.

      Don't do that then.

    17. Re:In my experience. by FST777 · · Score: 4, Insightful
      Exactly.

      I develop some pretty interesting apps with ECMA-script and CSS, and my practise is this:
      1. Write a piece of code with standards in the back of your head, and test it with Firefox. Then retest in Konqueror (I'm an avid KDE-user).
      2. Code the whole app this way
      3. Boot into Windows, test with IE7. Not much changes needed, 99% works.
      4. Fire up IE6. Cry, and regain temper.
      5. Adjust so that IE6 works, without breaking the original functionality. Don't use browser-checks. They'll bite your ass later.
      6. Test in Opera. Most just works when it already does in FF and IE6, so no harm there.
      7. Retest everything cautiously in all five mentioned browsers and adjust as needed. IE7 might pose a problem due to the fixes for IE6.
      All in all, the basic coding still is the major part of programming for me. The adjusting for the different browsers is not that much of a hassle.

      Standards are nice, but when it works with Gecko, IE6, IE7, KHTML and Opera, it's good enough. For basic webpages, Lynx is also a testbed for me (with regard to spiders).
      --
      Free beer is never free as in speech. Free speech is always free as in beer.
    18. Re:In my experience. by metlin · · Score: 1


      >> A lot of these applications use almost entirely ActiveX and simply do not work well with alternate browsers.

      Don't do that then.


      Heh.

      Easy to say, but difficult to do when there are a few thousand installations of such systems, and when changing such a system would be in the order of millions.

    19. Re:In my experience. by kennygraham · · Score: 1

      In my experience, you can do it with standards, or you can do it so it renders properly in Internet Explorer.

      Nathan

      That's a common problem when you're just starting w/ standards. Just making sure IE's running in standards mode (by giving it a doctype and such) fixes most of the ugliest IE CSS rendering bugs, and there are ways around the others.

    20. Re:In my experience. by dotNet · · Score: 1

      It's amazing how much you CAN accomplish that is up to the standards using resources like "A list apart" These standatds were written by people who knew what they were doing...



      You may need a little tweak here and there for the different browsers, But simple, straightforward code, following standards and best practices will get you 99% of the way there.

      --
      http://www.brainchef.com A fun free game
    21. Re:In my experience. by MidnightLog · · Score: 1
      Oh. My. God. I hope you're not exposing a Siebel app to the public internet!?! As the previous poster wrote:
      Unless you're developing for an intranet there's no reason to use ActiveX or IE specific code.
      As far as Siebel not working well with alternate browsers, I agree. Our company's customized Siebel app won't even run on IE7.
      --

      To understand what's right and wrong, the lawyers work in shifts ...

  2. Standards? by Devv · · Score: 0

    How do we priorize? is standards how a browser and a web page should work or how the mostly used browser works? How much can standards be enforced to something that is the most popular?

    --
    +1 Agree -1 Disagree
  3. what I want by Lord+Ender · · Score: 1

    I would love to see a listing of all the CSS and HTML that is fully-supported by both IE7 and Gecko. That would allow me to Write-It-Once and still stick to what the W3C says. I have no interest in CSS that only works in one of the Big Two browsers.

    --
    A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
    1. Re:what I want by 0racle · · Score: 3, Funny

      Now that would be a good book. "Designing with Web Standards that are Followed."

      --
      "I use a Mac because I'm just better than you are."
    2. Re:what I want by Anonymous Coward · · Score: 0

      Search. There are sites that catalog these details in a readable way.

    3. Re:what I want by traindirector · · Score: 1

      I would love to see a listing of all the CSS and HTML that is fully-supported by both IE7 and Gecko.

      Don't forget IE6 if your project is of any level of importance. It's got at least another two years of being significant enough to keep web designers hating themselves. If only it could die a quick death...

      I can't comment on the book, but what makes A List Apart great is that it focuses on coding to standards and making IE work. It's not that hard once you spend enough nights struggling with it that you just sort of know what to attempt to get it to do. Resources like A List Apart can really give some insight into these tough problems that a serious designer faces.

    4. Re:what I want by Anonymous Coward · · Score: 0

      Damn. That's a really good idea.

      Kind of like an online code repository for basic widgets and techniques, all hack-free and 100% compliant?

      As another poster chimed in: check out ALA if you haven't already. It's a far cry from what you suggest, but they have some of the best tutorials for advanced techniques in CSS/HTML while keeping an eye on compatibility.

    5. Re:what I want by Lord+Ender · · Score: 1

      Sorry, I guess I wasn't specific enough.

      I don't want a book. I just want an abridged version of http://www.w3.org/TR/CSS21/ with all the unsupported parts cut out.

      --
      A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
    6. Re:what I want by BenoitRen · · Score: 1

      Not exactly what you're looking for, but this is a good place to start: http://www.webdevout.net/browser_support.php

    7. Re:what I want by jZnat · · Score: 1
      Okay, here's the abridged version:
      color, background, font
      --
      'Yes, firefox is indeed greater than women. Can women block pops up for you? No. Can Firefox show you naked women? Yes.'
    8. Re:what I want by NanoServ · · Score: 1

      Sorry to burst your bubble, but Safari and Konqueror have a big problem with the background property. If you have an element with a height or width smaller than that of the background image, give it no-repeat, and position the image off a bit to one side, the background image will repeat. I ran into this issue on my site when I wanted to use little raised icons next to my headings. If I remember correctly, a recent version of either Safari or Konqueror fixed this particular issue, but it's still pretty sad that it took this long.

  4. I must say. by zwilliams07 · · Score: 1, Informative

    As an owner of the first edition, it is a must own title for anyone into webdesign and programming. If only Microsoft started to adhere to the W3C specification, the world would be a better place.

    1. Re:I must say. by truthsearch · · Score: 3, Funny

      Microsoft did start adhering to the standards. They just stopped long before they were done.

    2. Re:I must say. by NineNine · · Score: 1

      If only Microsoft started to adhere to the W3C specification, the world would be a better place.

      If only Mozilla started to adhere to MS's specifications, the world would be an equally better place. I don't really think that there's anything particularly special or important about the W3C that makes their arbitary standards better than somebody else's arbitrary standards.

    3. Re:I must say. by smooth+wombat · · Score: 2, Informative
      I don't really think that there's anything particularly special or important about the W3C that makes their arbitary standards better than somebody else's arbitrary standards.


      Too bad the standards aren't arbitrary. The W3C is an international consortium which holds meetings to try and get a consensus on what a web standard should be. Microsoft is part of this consortium but even after agreeing to the standards, chooses to ignore them.

      So who's fault is it again for not following the standards?

      --
      We will bankrupt ourselves in the vain search for absolute security. -- Dwight D. Eisenhower
    4. Re:I must say. by NoMoreNicksLeft · · Score: 1

      They have specifications that are generally clear as to what the intent is, and don't rely on proprietary technologies like DirectX?

      Personally, I like background-image:url(foo.png) alot better than filter:progid:DXImageTransform.Microsoft.AlphaImag eLoader(src='foo.png',sizingMethod='crop'); ...

      But then, that's just me. BTW, you have a really fucked up notion of "equally better".

    5. Re:I must say. by suv4x4 · · Score: 2, Interesting

      Microsoft did start adhering to the standards. They just stopped long before they were done.

      They actually *created* a noticeable chunk of said standards.
      Microsoft employees were part of the CSS, XML, XHTML creation committees and had significant contributions to those standards.

      You can however understand that a commercial company where time is money and money is matter of survival in a market developing with a furious pace would be disappointed at the speed at which W3C works.

      IE6 was abandoned for no other reason but the creation of what is today known as .NET 3.0 (a.k.a. WinFX a.k.a .NET 2.0 + Avalon + Indigo etc), XPF and other standards which would've taken decades to produce at W3C.

      You gotta applaud Microsoft that for all crap they spew at times, they are brave enough to stand on their own versus copy verbatim what their competition produces (no I'm not being sarcastic). .NET 3.0 is an amazing achievement and I'm sad to admit that despite Microsoft's ambitions to turn it into a cross-platform environment it may remain mostly a novel (and exciting) way to produce great looking and functional Windows applications.

      But Microsoft's work is what caused Macromedia (now Adobe) to produce the gem Flex 2, which is viable alternative for web applications running on all major platforms.

      Anyway not to get carried away, now that Microsoft have realized their strategy and "vision" with .NET 3 (and partially with Vista, though it's apparent this is not their final word on what Windows should work like), they are catching up at full speed with the standards, and IE7 is a huge step in the right direction.

      Their (public domain) extensions to RSS are also creating incredible new ways for people to interact with web content.

    6. Re:I must say. by Bogtha · · Score: 1

      You can however understand that a commercial company where time is money and money is matter of survival in a market developing with a furious pace would be disappointed at the speed at which W3C works.

      Don't make me laugh. Microsoft still haven't come anywhere close to finishing their CSS 2 implementation, the specification for which was published over eight years ago. The same goes for other specifications - for example, they've only just finished PNG, and that specification was published over a decade ago. You simply can't call the W3C too slow for Microsoft when it's Microsoft that can't keep up with the W3C.

      --
      Bogtha Bogtha Bogtha
    7. Re:I must say. by suv4x4 · · Score: 1

      Don't make me laugh. Microsoft still haven't come anywhere close to finishing their CSS 2 implementation, the specification for which was published over eight years ago. The same goes for other specifications - for example, they've only just finished PNG, and that specification was published over a decade ago. You simply can't call the W3C too slow for Microsoft when it's Microsoft that can't keep up with the W3C.

      If you think Microsoft has problems implementing rendering engines and image parsers/manipulators, you should check that section on .NET and base your judgement on that.

      And I assure you, IE7 will be replaced with an ever better version of IE ~Q1 2007.

    8. Re:I must say. by Delifisek · · Score: 1

      So you mean, M$ do this IE6 sh*t because of someting else ?

      --
      [My english is better than most other people's Turkish, so please point out mistakes politely. Thank you.]
    9. Re:I must say. by Builder · · Score: 1

      I don't really think that there's anything particularly special or important about the W3C that makes their arbitary standards better than somebody else's arbitrary standards.

      How about the fact that I can contribute to W3C standards, but not MS standards. How about the fact that I can actually drive new standards from scratch with W3C but not MS?

    10. Re:I must say. by suv4x4 · · Score: 1

      So you mean, M$ do this IE6 sh*t because of someting else ?

      Yes, because of .NET

      You see according to their strategy Longhorn (now Vista) is built upon, if they wouldn't have completed this iteration of .NET technologies and in a reliable, easy to use manner, they could as well lose the entire market.

      They deemed it was crucial to present the next iteration of their desktop/net platform as soon as possible, and that it should be better than anything out there created before. So they concentrated on this.

      I wouldn't blame them, I and my team only recently were in a somewhat similar situation though of course on a much smaller scale.

    11. Re:I must say. by Delifisek · · Score: 1

      Some time ago, a M$ exec say, they can write better code than Open Source. After so many years, and so many programmers and so many billion dollars we did not see any better code than open source.

      Oh yes, they had some edge about interface designing and product integrating. And better code ? No sir M$ could not wrote any better code than any one.

      And that IE6 a icon of M$ code quality and their respect to quality...

      --
      [My english is better than most other people's Turkish, so please point out mistakes politely. Thank you.]
    12. Re:I must say. by suv4x4 · · Score: 1

      Some time ago, a M$ exec say, they can write better code than Open Source. After so many years, and so many programmers and so many billion dollars we did not see any better code than open source.

      You never saw any Microsoft code since it's not open source. So your whole point is moot. But people who have seem Microsoft source through their programs are speaking of very well designed and written code, except for hacks required for backwards compatibility, but this is another topic entirely.

    13. Re:I must say. by Delifisek · · Score: 1

      Very well designed and written code ?
      Or swiss cheese...

      Please, Do not make M$ PR here.
      After 16 years of system support. I do not see any well designed ms code anywhere...

      Look Apple, they are doing very good and backward compatibility and so much other things.

      M$ just all about the market share...

      --
      [My english is better than most other people's Turkish, so please point out mistakes politely. Thank you.]
  5. Interesting. by Anonymous Coward · · Score: 1, Interesting

    A book on standards that decries rules and dogma. Only on Slashdot could this garner an 8.5.

    It sounds like this should have been two books -- one about the history of web standards, and one about how to design for the web, optionally complying with standards.

    Picking and choosing which ones you'll follow is about as useful as just writing what you know will work for everyone, except it's a bigger pain in the ass. At the end, you have the same thing: A website that doesn't actually follow any standard. How much hair you pull out in the process is the only real difference.

  6. yeah by nomadic · · Score: 4, Funny

    Like I'm going to take advice on how things should look from a guy with a moustache.

    1. Re:yeah by epp_b · · Score: 1
      Like I'm going to take advice on how things should look from a guy with a moustache.
      Wow! Jeremy Clarkson posts on Slashdot??! Cool!
    2. Re:yeah by tehcyder · · Score: 1
      Like I'm going to take advice on how things should look from a guy with a moustache.
      Relax, we don't think you're secretly gay at all.
      --
      To have a right to do a thing is not at all the same as to be right in doing it
  7. DONE! by davido42 · · Score: 0, Insightful

    It's very short. Exceptionally short. .. but I may be first to market!
    http://www.bitworksmusic.com/

    --

    BitWorksMusic.com -- odd tunes for odd times

  8. If it was easy, everyone could do it by fractalus · · Score: 2, Informative
    For old hacks who are thoroughly used to table-based layouts, as the only kluge that worked consistently, CSS is a tough sell. From an old rant on this topic where I quote a friend of mine who builds sites:


    See I'm not a fan of the pure CSS sites. [It] makes updates and general maintenance a pain. We've done a few sites that way and they are the ones I hate working on when [the] client calls with updates, enhancements, etc. ... I can make a table and format a page in two seconds, versus looking up styles or creating new ones, using guess and check, checking all browsers. ... Tables don't cause any problems if they're done correctly, so why make my life more difficult to use pure CSS, when 9 [out of] 10 times the site is going to be very graphically driven.


    That was from a year ago. Now even he has seen the light and is starting to build standards-based sites. It just took a while.

    One invaluable resource for identifying browser CSS support is this page which has nice pretty colors showing the amount of support.
    --
    People are never as simple as their stereotypes. This applies equally to Christians, Muslims, and Emacs-lovers.
    1. Re:If it was easy, everyone could do it by soliptic · · Score: 2, Interesting

      What a genuinely bizarre thing to say.

      CSS ... makes updates and general maintenance a pain. We've done a few sites that way and they are the ones I hate working on when [the] client calls with updates, enhancements, etc

      Updates/maintenance is one of CSS's strongest points. Client wants all the links green instead of red? Look in my style.css, change a { color:#f00; } to a { color:#0f0; } - instead of pick through 50 pages looking for every <font> tag inside an <a> tag. Client wants the left hand navigation column to be a bit wider? Look in my style.css, change div#leftnav { width: } to something bigger. As opposed to picking through 50 pages trying to work out whether it's the fourth level of nested <table><tr><td> which controls that, or the fifth level.

      If he wanted to complain about CSS designs being less consistent than table based ones I could somewhat understand his point. (Although I'd still say he needs to google the IE box model, take his pick from any one of several very easy solutions (including CSS hacks like the Tantek hack; abandoning padding and using only margins, with extra wrapper divs if necessary; serving different CSS to IE via conditional comments...), and then realise the majority of his layout issues have vanished...)

      Then again, judging by this:

      versus looking up styles

      it sounds like he was just lazy and didn't want to learn something new. Looking up styles? Oh noes. Really, you've only got to do professional CSS-based design work for about a fortnight and you've memorised the 90% of the stuff you need on a regular basis. For the more esoteric bits that you do need to look up, it's not like there isn't a vast amount of CSS reference material just one click away.

      Tables don't cause any problems if they're done correctly

      Well, apart from the huge nest of tables inside cells inside tables inside cells inside tables being (a) a waste of bandwidth and (b) far harder to write and maintain. And being piss-poor for people browsing with screen readers, and by divorcing content from presentation completely all kinds of interesting microformats / data mining / semantic web type of applications become totally impossible.

    2. Re:If it was easy, everyone could do it by Shados · · Score: 1

      The problem I see is that CSS in its current form (even if it was fully supported), still has certain things that aren't quite doable. Or they ARE doable. With 15 nested div tags. Not much better than table layouts.

      Mind you, table layouts suck bad, but you do have decent tools that can help a tiny bit. Pure CSS layout tools are -just- starting to come out. Mind you (before I get flamed for daring mention using anything beyond notepad/vim/emacs to do HTML/CSS) these tools are just helpers, and should never be depended on, but when in a rush, it really helps, at least with the debugging part. Now, even if CSS was 100% supported, and it was better than table layouts (which it is, even in its current, IE-butched up form), it still has limitations. Parts aren't intuitive (a lot of stuff is plain learning by heart how each rules affect each other and how they stack. Learning crap by heart died over a decade ago, if you ask me), lots of stuff can't be done cleanly (if my HTML page is supposed to be my structure, and my CSS the style, how come do I have to add a bunch of sections that have nothing to do with my structure, just to deal with CSS limitations?), and so on and so on. So tables suck hardcore. CSS suck less, but still suck. So obviously, it is hard to convince someone to switch from one evil to another. The web really needs a new standard that is built in parallele with a reference implementation, with people using it at the same time as it is being built, so that usuability issues can be found as it goes. If possible, something that can be validated on more than just syntax to catch as much errors as possible during validations, with some mild programmatibility (expression support anyone?), etc. As it is now, CSS is being developped by people with too much ideals and visions, and not enough grasp on reality, with only, like, 1 browser successfully implementing it (along with other web standards) in a usuable way, and it did so only semi-recently. And before I pass for an old table hacker like last time i posted something like this, all my current web sites are in XHTML 1.1, with most previous ones validating peachy as XHTML 1 strict, so no, no frustrated table layout designer here. There's no light to see. Just more shades of gray.

    3. Re:If it was easy, everyone could do it by sehryan · · Score: 1

      "The problem I see is that CSS in its current form (even if it was fully supported), still has certain things that aren't quite doable. Or they ARE doable. With 15 nested div tags."

      I know you are exaggerating, but any experienced CSS designer doesn't need anywhere near that many divs. In fact, the only div tags I use are to outline the larger block elements (header, content, footer), plus an extra "container" div, just to cover my bases. Everything else can usually be done just by manipulating the tags within those divs, or, on the rare occasion, using classes.

      --
      The world moves for love. It kneels before it in awe.
    4. Re:If it was easy, everyone could do it by Shados · · Score: 2, Informative

      If it wasn't for IE, yeah. What I had in mind when i made my exageration was vertical centering, which depending on your needs tend to take 3 div tags to make it perfectly cross-browser and working peachy in pure CSS.

      I've looked for some trick that I could be missing, but everywhere I looked, it tend to be that. Of course, you can lower the amount needed by using, as you send, the inside elements, but often its still required to have quite a few too many divs. Being able to use display:table-cell in IE would probably shave these occurences by a lot though.

      My gripe so far though is almost purely with 3 things. #1: positioning of elements that do not have fixed sizes (if you fix sizes, then things are a total joke), #2 vertical positioning (mostly fixed once the browser installed based support of table-cell is higher), #3 positioning/sizing of elements that are not tested, relative to each other.

      All of this is definately possible. Its just not as clean as it should be, in my opinion. If javascript is a possibility (let say for an internal application), then all problems can be fixed in 5 lines of code and be 100% cross browser, but thats not always possible.

      And hey, i'm not the guru among gurus, if there are tricks I haven't been able to find to handle all this over time (very possible), i'm always open minded to learning more stuff. But I spent quite a bit learning all the quirks I could with no easy solutions. :)

    5. Re:If it was easy, everyone could do it by Anonymous Coward · · Score: 0

      You know... your post doesn't have to fit all within one paragraph.

    6. Re:If it was easy, everyone could do it by jamshid · · Score: 1

      Are XHTML and CSS really forward progress? If our industry has been working on these standards for 4 years, if we are all running browsers that have been updated within the past couple of weeks (to fix security bugs), and yet we still can't get good simple page layouts without much hackery, are we sure we're heading down the right path?

      E.g., I just happened to be reading this site:

      http://www.roughlydrafted.com/RD/Q4.06/F68E528C-DC 9A-4B12-A064-143924EBD3F1.html

      and am very annoyed that despite the fact that it uses the latest and greatest standard (XHTML, CSS), parts displays ugly in my Firefox 1.5 (text runs over graphics) and printing it causes Firefox to print a single page, truncating most of the article for some reason. And IE6 chops the last several characters in each column.

      That's progress?! CSS is too complicated and subtle to be a good standard.

    7. Re:If it was easy, everyone could do it by Shados · · Score: 1

      This is getting to be a bit of an old topic, but oh well, i enjoy the discussion. The main issue is that the XHTML/CSS specs really seem to be made in a totally deconnected way of the industry. Web page design, while commonly done by "web designers", is also used daily by thousands of -programmers-. XHTML itself is very close to what programmers are used to: CSS however, is not. To make matter worse, even something like the Firefox project, or a semi-commercial browser like Opera, STILL can't get the specs in 100% (Opera is like 99.9% by now, but how long did it take to get there?). Its completly rediculous. In opposition, you have something like Flash, or the soon to be released WPF framework, which already have implementations (not necessarly open source, but still) accross platforms and run circle around XHTML/CSS. Yes Flash is abused to hell and beyond to make garbage stuff, but the technology itself can do most everything we want the web to do, across browsers and platforms, and it is there -today-. WPF when it is released will also have cross platform plugins (I do not know to what extent though). These technologies are relatively intuitive, are amazingly well documented, and "they just work(tm)". They're just not accepted enough. So it IS possible to make something that works. Now, look at one of the semi-recent articles on Slashdot about RELAX as opposed to XSD. Again, the W3C is simply disconnected from the real world. They have some good people and companies supporting it, I don't understand how come they release such crappy specs. The W3C is simply failing us. Plain and simple. It has been a LONG time since specs for mainstream technologies have been this horrible. We have to admit that its simply not working, and go back to the drawing board. Once WPF is out (I'm a .NET programmer), for all internal web apps, HTML/CSS will be going to hell, simple as that.

    8. Re:If it was easy, everyone could do it by Shados · · Score: 1

      Oh blah, sorry for the wall of text. This was supposed to be "plain old text" formatted, but i selected HTML by mistake >. Talk about the irony...

  9. MOD PARENT DOWN, Referral Spammer by Anonymous Coward · · Score: 0

    Examing the parent's link to Amazon, one can see that a referrer link, kaleidojewel1-20, is present.

    1. Re:MOD PARENT DOWN, Referral Spammer by Anonymous Coward · · Score: 0

      Referral Spammer. Wow. So what exactly is an anonymous coward, who is probably unseen by over half the slashdot population, doing to hurt you?

      Nothing.

      Ignore and walk on you fucking dipshit.

  10. Re:Goddamn you by Anonymous Coward · · Score: 0

    I find your ideas intriguing and I would like to subscribe to your newsletter.

  11. Or... by beadfulthings · · Score: 1

    You set it up in a layout table and use CSS to control what it can be relied upon to control consistently.

    --
    "Here's what's happening. You're starting to drive like your Dad..." - Red Green
  12. Tables should not be used for layout! by Geof · · Score: 4, Informative

    For example, if the floating divs are acting different in each browser, use a table.

    Standards-based design is not just about browser compatibility. It's also about separating style from content. Tables are for tabular data, not graphic design. What you describe is the HTML equivalent of spaghetti code, and it's one of the main targets of Zeldman and other of proponents of standards-based design.

    HTML (unlike, say, PDF) is not a layout language. Tags are meant to describe the content they enclose, not specify how it is to be displayed. It is the job of CSS to present that content in different contexts. Violating that separation, for example using tables for layout, makes maintenance difficult because content and style cannot be modified independently. It denies users the ability to re-style your content (e.g. with custom stylesheets). It creates barriers to accessibility for those who do not interact with computers visually (e.g. those with disabilities), or who use other devices to access the web. It misrepresents the content of web pages to machine analysis - search engines, for example, use tags to determine the role and importance of text on a page.

    Of course, the reality of the HTML and CSS standards and their support in popular (*cough*) browsers is somewhat different. It is sometimes necessary or practical to misuse HTML as you describe. But it should not be done without an understanding of the standards and the consequences of ignoring them. Books like Zeldman's give designers and developers the knowledge and tools they need to use HTML and CSS correctly where possible, and to minimize abuse otherwise.

    For some reason, programmers seem to be trailing designers when it comes to understanding how to use HTML and CSS correctly. They figure if it looks right, it must be right. That was certainly my attitude. Perhaps it's because we don't take designers or HTML seriously ("it's not Turing complete!"). I don't know. But do read Zeldman or Eric Meyer or someone like them, either in hardcopy or online. Knowing how do this stuff right made me a much better web programmer.

    1. Re:Tables should not be used for layout! by Bogtha · · Score: 4, Insightful

      Standards-based design is not just about browser compatibility. It's also about separating style from content.

      There's a strong correlation between people who adhere to the W3C's specifications and people who separate content from presentation, but that doesn't mean that they are the same thing. <font> and <table> are in the HTML 4 and XHTML 1.0 specifications.

      Conflating the two leads to people claiming stupid things, like that they are writing "standard" code because they use CSS, when in fact their code is non-standard and full of hacks.

      I know over the past few years "web standards" has become a popular buzzword, but there's a difference between best practices and conformance to particular specifications. Just because it's a good thing, it doesn't mean the specifications require it, and jujst because it's in the specifications, it doesn't mean it's a good thing.

      --
      Bogtha Bogtha Bogtha
    2. Re:Tables should not be used for layout! by Geof · · Score: 1

      There's a strong correlation between people who adhere to the W3C's specifications and people who separate content from presentation, but that doesn't mean that they are the same thing.

      Good point. I simplified for clarity; maybe I shouldn't have. In the article I linked to, Zeldman talks about adhering to the spirit of the standards, not merely the letter. As your example shows, the letter sometimes violates the spirit.

    3. Re:Tables should not be used for layout! by aevans · · Score: 0

      It just so happens that "banner", "navigation bar", "links", "headings", and "columns" are some of the most common categories of tabular data used on the web. Just because the only information you, personally, want to display happen to be multiplication tables, doesn't mean you're the only one allowed to use a bunch of rectangles to display your content. You should be forced to use a linear display in the form of a spiral from the inside out for your "scientific" information, and only online newspapers and corporate portals should be able to represent their data in tabular format.

    4. Re:Tables should not be used for layout! by JebusIsLord · · Score: 1

      is deprecated in xhtml 1.0 strict (AFAIK), and ? table tags are perfectly valid WHEN they contain tabular data, not as a layout tool. So they won't be removing that one any time soon.

      --
      Jeremy
    5. Re:Tables should not be used for layout! by Anonymous Coward · · Score: 1, Funny

      It just so happens that "banner", "navigation bar", "links", "headings", and "columns" are some of the most common categories of tabular data used on the web.

      If the information is not related across multiple axes, then it's not tabular data. Putting it inside a table element doesn't make it tabular data any more than tying a bow around a piece of shit makes it a present.

    6. Re:Tables should not be used for layout! by wkcole · · Score: 3, Funny
      any more than tying a bow around a piece of shit makes it a present.

      of course not, silly.

      It's the thought that counts.

    7. Re:Tables should not be used for layout! by lord+aDam · · Score: 1
      <font> and <table> are in the HTML 4 and XHTML 1.0 specifications.

      According to the W3C HTML 4 Specification:

      15.2.2 Font modifier elements: FONT and BASEFONT
      FONT and BASEFONT are deprecated.
    8. Re:Tables should not be used for layout! by Bogtha · · Score: 1

      I'm not sure what you are getting at. Yes, they are deprecated, but that doesn't mean that they aren't part of the specification or that they cannot be used in a conformant document. Deprecated essentially means that they are going away in the next version - and <font> did exactly that, it's not present in XHTML 1.1. This doesn't change my point that the use of <font> is irrelevant to the question of standards compliance.

      --
      Bogtha Bogtha Bogtha
  13. Yet another standards book by HeavyAl · · Score: 1, Flamebait

    Do we really need another standards book? First of all this thing is going to be defunct within at least 6 months and second I don't know a single self-respecting web developer that cracks a book when working on a site. Yeah, I just skimmed the article but it just seemed like a total rehash of the last five or six books that were thrown up here. I mean, if it were an E-Book of some sort then I might be into it because I could reference it while working at my station but honestly if its got a spine and paper then I dont have time to get my fat butt out of my chair and go to the shelf to look up a technique when I could just as easily find it in two seconds on google.

    1. Re:Yet another standards book by falconwolf · · Score: 1

      if it were an E-Book of some sort then I might be into it because I could reference it while working at my station but honestly if its got a spine and paper then I dont have time to get my fat butt out of my chair and go to the shelf to look up a technique when I could just as easily find it in two seconds on google.

      This may be true for you but it's not for everyone. My book shelf is easily within an arm's reach from my desk and I can grab a reference book off the shelf, check the index, and flip to the right page faster than I could google. Then, my desk is big enough to rest the book on while I type away eliminating the need to have a browser tab open in a second display while typing. Also because it's portable I can take it with me and therefore won't have to be concerned about getting net access while away.

      Falcon
  14. Tragedy by suv4x4 · · Score: 1, Funny

    Hybrid layouts make use of CSS and HTML tables to layout a page, although the table usage is minimized. Zeldman is correct to take this approach, which gives readers practical advice...

    I felt a powerful disturbance in the force, as if thousands of CSS-P zealots died reading this.

    1. Re:Tragedy by Shados · · Score: 1

      Honestly enough, there's some wisdom in that approach. I mean, other environments do tend to use both tables and styling "rules" together to get the desired result...take Java Swing for example.

      Sometime a very limited and careful use of tables (not a bunch of nested tables garbage) can make the site easier to maintain, and ::gasps:: use less markup. Doesn't help rendering speed though.

      And obviously, if the site is supposed to be accessible, its not an option...

    2. Re:Tragedy by suv4x4 · · Score: 1

      Honestly enough, there's some wisdom in that approach. I mean, other environments do tend to use both tables and styling "rules" together to get the desired result...take Java Swing for example.

      Of course there is, I hope you sense my irony. I don't sweat if I have to use a simple 2-3 cell table to achieve a layout that is ridiculous to achieve with CSS.

      The only reliable CSS layout technique in terms of main page sections is now faux columns. It only works with fixed width (adaptation for flexible width are ugly like death itself and involve 3000px wide GIF images with 2000px wide transparent sections and other such monstrosities).

      As you know: some things can be done with CSS floating or absolute/relative pos and margins. For everything else, there's tables tm.

    3. Re:Tragedy by suv4x4 · · Score: 1

      And obviously, if the site is supposed to be accessible, its not an option...

      Oh and that's a myth haunting us from 1995-6 by the way. Tables are as accessible as they can be nowadays, especially if used in moderation.

  15. It's definately possible. by MaXiMiUS · · Score: 1, Interesting

    Just painful, at least until you get used to it. I'm trying to develop an entire web based (graphical, 2d overhead) MMO, following XHTML 1.1 and CSS standards. PHP and Javascript for life :)

    --
    It's never just a game when you're winning. - George Carlin
    1. Re:It's definately possible. by Shados · · Score: 1

      If you can use javascript to help with some more complex positioning (especialy relative resizing and such), XHTML 1.1 really isn't bad at all. Then you reduce the extra "just for CSS" divs that wouldn't normally be there to a minimum, and keep your HTML page squeeky clean. Not always possible, but often a nice alternative. Especialy since afterward your page can still be accessible (since the page structure is preserved), it still renders faster than html, and its often easier to maintain, and it makes cross-browser a total joke. Obviously, major drawback is that if your users don't have javascript on, this degrades like garbage, but if you're going to use javascript -anyway-...

    2. Re:It's definately possible. by ubernostrum · · Score: 2, Interesting

      If you can use javascript to help with some more complex positioning (especialy relative resizing and such), XHTML 1.1 really isn't bad at all.

      Um. Yes. Yes, it is. XHTML 1.1 is an utterly useless format, but not for reasons having anything to do with CSS; per the W3C's notes on media types for XHTML, XHTML 1.1 should be served with the MIME-type application/xhtml+xml, and never with the MIME-type text/html. But Internet Explorer, even IE7, does not understand this MIME-type (though, to be fair, they've only had seven years to get this right; I figure by the time we have flying cars and robot maids, IE will handle the XHTML MIME-type just fine) and will display its generic "I don't know what to do with this file, do you want to download it?" dialog.

      XHTML 1.0 does have provisions for being served as text/html, but there are deep issues with that which most people who use XHTML are blissfully unaware of (hint: all modern web browsers treat XHTML-as-text/html as an unrecognized language, and kick into "tag soup" mode to parse it); if they ever switched to the XHTML MIME-type, or even to an XML MIME-type like application/xml (which works in IE, and is permitted for XHTML but not the recommended thing to use), they'd be in for some nasty surprises.

      XHTML, at this point, is basically dead in the water; hordes of people switched to it because it was the latest and greatest, but did so with no understanding of how XML actually works or the constraints created by reformulating HTML in XML. It's only the fact that none of them are actually serving it as XHTML -- because everybody just goes ahead and uses text/html -- that's saved them from their ignorance thus far. Even the W3C seems to have reluctantly accepted this, with Tim Berners-Lee recently announcing that there will be a shift from the "forget HTML, XHTML is the only way forward" mentality to a revival of the HTML working group and a series of gradual refinements and improvements of HTML until (if ever) the world is really ready for XHTML. Which could be a while; a couple years ago, Evan Goer took a sampling of 119 sites which claimed to use XHTML, and tested for valid, well-formed XHTML served using content negotiation to send the proper MIME-type to browsers which understood it. Of the 119 sites -- cherry-picked to include a large concentration of professional web designers and developers, who really ought to know how to do this right -- only one was found to conform, and 74% failed the first step of checking the W3C validator. In the two years since, he's managed to find about a hundred sites on the entire Web which are correctly doing XHTML. 99 sites in two years isn't a rosy picture.

    3. Re:It's definately possible. by Shados · · Score: 1

      I see where you're getting from, and I agree. Trust me, I hate all this web standard garbage, but since for the time being its what we have to deal with, I try to make the best of it.

      When i said XHTML 1.1, I meant it as the "street definition" (so to speak): "It validates on the w3c validator as XHTML 1.1 compliant".

      No, it doesn't have the advantages of real XML served this way, but its clean and streamlined, thus for now, it gets the job done.
      Sorry for the confusion

    4. Re:It's definately possible. by ubernostrum · · Score: 1

      No, it doesn't have the advantages of real XML served this way, but its clean and streamlined, thus for now, it gets the job done.

      So does HTML 4, only it gets the job done without any of the hassle...

  16. Unfortunately... by 8-bitDesigner · · Score: 2, Interesting

    Many of the more persistent issues in IE6 aren't due to impelementation of the CSS standard (or lack thereof), but rather of bugs. I mean, sweet baggigty, how on Earth can you predict if IE6 is going to double the margin on a floated element or not? Hell, it's a "here today, gone tomorrow" issue for a full-time web designer.

    And don't get me started on the peekaboo bug. That one alone took me a day and a half to figure out. For the most part, IE7 will respect web standards (and hell, even better than Firefox 2 in some places), but for IE6, and parts of IE7, you just need to build a nigh-encyclopedia knowledge of various bugs and workaround.

    A List Apart and are fantastic resources for bug hunting

  17. Mozilla doesn't plan to follow W3C Standards by Anonymous Coward · · Score: 0

    I was at a meeting recently where a Mozilla Foundation official said roughly, "Mozilla doesn't necessarily follow W3C standards because the individual developers in the open source model have to take the initiative to follow them, and if they don't want to, it doesn't happen."

  18. This book is unsuggested. by trouser · · Score: 1, Interesting
    --
    Now wash your hands.
  19. Web Standards by corychristison · · Score: 1, Flamebait

    As a web developer of 7 years as my main source of income, web standards is a waste of time. Personally I try to adhere to them as much as humanely [no, that's not a typo] possible. "Web Standards" changes constantly with what is "in" and "cool." Right now the big thing is AJAX. I, personally, have never used it and I suggest everyone else does the same. Except in situations like Google's Writely. Web Applications are useful, but not necessarily worth the effort. Because "Standards" never actually stay put, I have this to say:

    Web Standards is an Oxymoron.

    Thank you for your time.

    1. Re:Web Standards by styrotech · · Score: 1

      Huh? You have to be trolling.

      "Web Standards" changes constantly with what is "in" and "cool."

      You do realise that more time has passed since the publication of CSS2 (yes the latest released version), than passed between the invention of the web itself and said publication date? ie the latest version of that standard spec has been out for over half the webs entire lifetime. That standard was published before the majority of web designers these days even started designing websites.

      Until just recently, there was no movement at all in the level of standards support in the majority browser for over 5 years.

      Because "Standards" never actually stay put, I have this to say:

      Yeah its a real bitch when they redesign HTML4 halfway through a project.

      And since when was AJAX ever any kind of standard? Maybe you've just confused the concept of "standard" with "state of the art" in terms of techniques used. Because the majority of designers have only recently started using standards based design or worrying about AJAX, you could say the "state of the art" is changing. But that has nothing to do with whether the standards are changing - they are still as stagnant as they were years ago.

    2. Re:Web Standards by corychristison · · Score: 1
      Huh? You have to be trolling.
      No. Just stating how I feel about the current situation.

      Do you know how hard it is to try and stay in a business that constantly evolves based on what is cool? I was not stating literally that the standards move with trends. Note the quotes around Web Standards and Standards throughout my post. But I guess morons like you fail to read what is actually being said and like to go with the flow. You are one of them! Burn in hell you dolt!

      I am very well aware as to what I said and I stand by it. Web Standards is still an Oxymoron. It doesn't make sense because there never were any real solid standards, because of this people are forced to go with the flow of what is 'in' and 'cool.' EG: AJAX, RSS and many other XML-based "standards."

      To whoever may have modded down my last post, shame on you. It is a very valid point coming from a developers point of view. Most people here have never actually developed a commercial site for real money. I hope your karma burns in a hot fiery volcano.

      Note: Due to certain reasons, this post may or may not necessarily be entirely serious. You be the judge. Don't take shit so fucking literally.
    3. Re:Web Standards by hazah · · Score: 1

      I have developed "real sites for real money" and I say you're full of shit. Either that, or you're in the wrong profession. To miss something this obvious is absolutely astounding.

    4. Re:Web Standards by corychristison · · Score: 1
      Yet another moron.
      Do I have to repeat it?
      Note: Due to certain reasons, this post may or may not necessarily be entirely serious. You be the judge. Don't take shit so fucking literally.
    5. Re:Web Standards by Anonymous Coward · · Score: 0

      If you started 7 years ago, that's 1999. Pretty damn late, actually. (Man, I remember optimizing stuff for IE3.) Anyhow, by then CSS had been around since IE4 back in 1997, two years before you began your career.

      If you still don't get CSS now then you're just not bright, are you?

      No shame in the game, someone's gotta pay the Dreamweaver dudes, or else they'd go broke.

    6. Re:Web Standards by hazah · · Score: 1

      LMAO... I'm the moron? Even your joke sucked. Fuck... I know I'm taking bate here but what nerve....

      Listen closely: do not reply, you have nothing left to say.

    7. Re:Web Standards by corychristison · · Score: 1

      Although I know this post will go over-looked, I still feel compelled to respond to maybe clear some things up.

      I just recently turned 18 years of age -- Dec. 1st, actually. I started fiddling around with web development when I was 10 years old. I did, as many people here involved in most types of programming, teach myself. Using online references, of course, but I was not taught in a classroom or a personal trainer. I grasped very quickly and within the following year I had actually started to make money doing it. No, I do not use dreamweaver. If you really want to know: I use Gentoo Linux, XFCE, Mousepad, Inkscape and Xara for web development. I also run my own server on a separate machine dedicated to web hosting in itself. This is mostly used for development purposes, but I do host a few of my small projects [mostly my blog]. My mind is not just limited to web development. I do programming in most "prototyping" languages [Python, TCL/TK, PHP-GTK, etc.]. Mostly because these programs never leave my systems and are not designed for use by anyone else. Mostly small utilities such as a 'punch-in' program I use to monitor my work times. Not for payment, as most projects are on a fixed-price basis. Mostly just for my own knowledge.

      Currently, I hold 2nd place in a National Competition in Canada. Look for Web Site Development in the Secondary Competitions. They combine the entire competition and then split the results after. I placed 3rd over all. That is, between Secondary and Post-Secondary.

      I will be attending again this year. Hopefully I will come hope with a Gold Medal this year.

      I understand and use XHTML 1.1 [which, currently, is basically XHTML 1.0 Strict], CSS, JavaScript, etc. just as it comes out and is mostly available to everyone. I'm just sick of how these "Standards" crop up. AJAX is not a standard, but it is said to be a rough outline/framework as to how the whole system works. A reference if you will. People adopt stuff like this as if it were a standard. Just like flash back in the day. Don't you remember when Flash was the cool thing and your site would be dubbed as "un-cool" by en masse? That around the time I ever got into this stuff, and it was not pretty. Obviously we have progressed in actually producing something worth looking at.

      I know anyone who may stumble across this post will read it and think "I call your bullshit!" Really, there is no bullshit here. Although my last post was indeed harsh, I was having a rather shitty day dealing with stress. I have an anger problem and am in counseling and anger management for it. I'm sorry if I ruined anyones day. I do still believe that Web Standards is an Oxymoron in the sense that there are not very many standards that are actually fully obeyed.

    8. Re:Web Standards by Anonymous Coward · · Score: 0

      wtf is a 'bate'? you're all tards. hey look i can do dreamweaver so now i'm a web developer! please.

    9. Re:Web Standards by Anonymous Coward · · Score: 0

      You keep co-mingling the phrases "web standard" and "what's cool", to the point where one cannot tell which you mean. You need to make it clear you understand the distinction. You would be well advised to concentrate more on accurate use of English, rather than making arguments by resume.

    10. Re:Web Standards by alienmole · · Score: 1

      I have to agree with the other responder to your message. When people talk about "web standards", they mean something quite specific, namely the stuff coming out of e.g. the W3C. That stuff tends to be very stable, and in fact based on what you've said, you ought to appreciate it, because it doesn't change all the time and it makes the job of cross-browser development easier.

      OTOH, when you write "People adopt stuff like this as if it were a standard", you're not talking about "web standards". You're talking about what's cool or popular. So all your messages in this thread are essentially offtopic.

      And whether you believe "web standards" is an oxymoron or not, doesn't affect the fact that an entire industry gets a great deal of value out of them. For now, you should probably just treat it as something which you'll understand better when you're a little older and wiser.

  20. You're missing the point of separating style by Geof · · Score: 3, Insightful

    "banner", "navigation bar", "links", "headings", and "columns" are some of the most common categories of tabular data used on the web. Just because the only information you, personally, want to display happen to be multiplication tables, doesn't mean you're the only one allowed to use a bunch of rectangles to display your content.

    Let's hold our horses and calm down a bit. You are confusing data with presentation. HTML is for content description, CSS is for presentation. Use the right tool for the job, and you can get the effect you want - without using HTML tables. And you will gain accessibility, maintainability, and so on.

    The banners, nav bars, headings etc. that you mention are not tabular data. They do not necessarily have rows and columns. A navigation bar, for example, is typically one-dimensional, not two: it's a list of links - hence current best practice is to represent it in HTML as a list (<ul> or <ol>). Because these things are not tabular data, they should not be represented in tables.

    Again, HTML is not a layout language. HTML tables are more like database tables than a grid system; like database tables, the relationship between rows and columns exists regardless of what they look like. The browser chooses how to display that information - typically in a tabular format, by applying CSS. That's right, CSS that specifies the layout, not HTML. You can use <div>s instead of <table>, <tr> and <td> tags and still display your information in a tabular format by applying the correct CSS table properties. These properties are about presentation, they say nothing about the nature of the data.

    In your case, the banner should probably be something like <div class="banner">, the headings should be <h2>, <h3> etc. (that's why they're called heading tags), and the columns should probably be <div>s, located correctly with CSS (there are some very clever ways of doing this involving negative margins and the like (see A List Apart), none of which force you to misrepresent your data as tables - though in a few cases, using a table for columns is the most practical solution).

    No one is telling you what your web pages should look like. They are, however, recommending the most effective, flexible, accessible, and maintainable ways of getting that look using the tools available. Using tables for layout is seldom any of those things.

    1. Re:You're missing the point of separating style by Gr8Apes · · Score: 1

      having worked with tables and divs and CSS for a while as a programmer, not a web-designer, here's my take on why programmers almost always use tables: making formatted tabular layouts with divs and CSS is non-intuitive and a major pain in the ass for just one browser, much less a slew of them.

      Why are div and CSS so damn difficult to use to make a row/column layout? Wait, could it be that that's the forte of tables? I want to divide my page into rectangular areas. The answer? Make divs as easy to use as tables for presentation.

      But, here's the real root of the problem: HTML is not a data description language, it's a presentation language, and it's been misused since its inception. If you want true separation, use XML for the data, and XSLT to transform it into HTML. If HTML were to truly be a data representation, you'd only have and tags, and the rest would be CSS. Think about it a while. Everyone of those other tags are some variation related to presentation. (Yes, it's oversimplification, but it's not that big a stretch)

      --
      The cesspool just got a check and balance.
    2. Re:You're missing the point of separating style by Shados · · Score: 1

      That seems to be semi-common among programmers (I'm one myself).

      We already separate our model, our engine (controller), and our presentation layer. Each of these are separated in more stuff, and you end up with like 10+ separations for an average sized app.

      Then we get to the UI, and if its in web, we're told to again separated it. HTML for the structure, CSS for the formatting, script for the behavior. It starts feeling like overkill, as that adds 3+ layers to an app thats already split up to death, and doesn't quite fit the architecture, either...

      Add that in an average ERP system, basically every single page will be totally different from the other, except for "theme" (color, fonts, borders, basic formatting), which is perfectly done in CSS. Its hard to justify then spending as much time making the presentation layer as you did coding whats behind to make it all by the book.

      Even worse, there's nothing wrong in using "tables" in desktop clients (like Java Swing), but its wrong in CSS. So honestly, what it feels like, is that the -idea- behind the whole separation of style and structure in XHTML/CSS is a good one, the implementation is garbage. Im really starting to consider these things like Flex or WPF for web app, and be done with it...

      Until then, XHTML it is...

    3. Re:You're missing the point of separating style by Gr8Apes · · Score: 1

      Let me say that my anchor and div tags were removed... whoopsie.:)

      Those would be the only 2 tags in a data representation, and div tags could even be considered a stretch.

      --
      The cesspool just got a check and balance.
    4. Re:You're missing the point of separating style by Gr8Apes · · Score: 1

      I stopped counting. 3 tiers? I wish. There's at least 5 layers just in the JSP/servlet/XML -> HTML portion of an app. Add in the multiple layers of appservers, DBs, message buses that go to who knows where, etc, and "n-tier" becomes more than just a description implying complexity, it's an accurate description.

      Oh, and don't forget, somehow it's the application programmer's responsibility to debug the DB, the queues, the network, the cross browser issues, and not to forget why CSS isn't making that image move 1 pixel to the right when javascript changes the underlying DOM.

      What kills me is that a lot of businesses think they can hire someone for $40 hour to do all that, do it well, and make it scalable. Oh, and do it in multiple languages and platforms. Some job listings are worth the read for a good laugh.

      --
      The cesspool just got a check and balance.
    5. Re:You're missing the point of separating style by Shados · · Score: 1

      God i know the feeling. I was back in my younger days hired as a junior programmer at 17$/hour and eventualy was expected to do that, and if I didn't have results by the end of the DAY, i'd get yelled at.

      Needless to say, I told my boss to find someone else. Last I learnt they had hired someone who had just graduated to replace me. A graduate straight out of school to do full scale software architecture. Thats looking good ::cough::.

    6. Re:You're missing the point of separating style by Gr8Apes · · Score: 1

      Hey!!! You must have worked at my last job - I got to see the results of that graduate (ok - he was a college graduate, but just as clueless....)

      It's on its 3rd rewrite, because architect-boy "designed" the follow-up based on something about this thing called SOA he read in a magazine, and then added insult to injury by adding in Spring because it "solved" the cyclical redundancy issues in his design. I still haven't gotten over my distaste for Spring because of that.

      --
      The cesspool just got a check and balance.
  21. "Designing With Web Standards first ed" by falconwolf · · Score: 1

    As an owner of the first edition, it is a must own title for anyone into webdesign and programming. If only Microsoft started to adhere to the W3C specification, the world would be a better place.

    Yea, I got the first edition years ago then when I found out the second ed came out I got it right away. I'd like to get a good book on CSS too, perhaps one of Meyers. What I'd really like to get though is a good book on accessibility, while following web standards helps a lot there's more to accessibility than just this, for instance the Fog index, on readability.

    Falcon
  22. Stop using a CSS as an excuse to produce poor HTML by HaMMeReD3 · · Score: 2, Insightful

    Who was the idiot that decided now that we use css for our layouts that tables and such can just be deprecated. Tableless layouts are NOT a good idea, although the need for tables has dropped significantly since the introduction of css.

    For example, in the header of my site, I want 3 columns, a left,right, center, with different aligns on each.

    The "CSS" solution would look something like this.
    <div class="header">
      <div style="float:left;text-align:left"> Left Content </div>
      <div style="float:right;text-align:right"> Right Content </div>
      <div style="text-align:center"> Center </div>
    </div>

    Now this may not have any tables in it, and produces 3 columns, the float order is odd (if I put the float:right after the center, it'll start on a new line since it's after a non-floating div). Also Floats tend to not resize that well in firefox for some reason, leaving ugly trails that look like dragging around a window on a frozen windows desktop.

    Now when I start adding more and more content and fine tuning it in the floating div's, it starts to become a confusing mess and become hard to tweak and manage precisely.

    With a table, the same effect is achieved with slightly less code.
    <table width="100%"> <tr>
      <td align="left"> Left </td>
      <td align="center"> Center </td>
      <td align="right"> Right </td>
    </tr> </table>

    Also, lets not forget the fact that my table can be fully styled with css as well. So my point being that don't use div's for a solution where another tag exists to solve your problem.

    It's good css practice (not professional practice, educational FOR LEARNING practice) to write a site completely in div or spans, but most these other tags are not going anywhere soon, and provide context for your document, for example, in a layout I'm working on now, I use styled <ol> to achieve the same effect that I would traditionally get from a table. I could also achieve the same effect using a series of divs or with styled tables. Although the <ol> makes the most sense when viewing the source because the nature of the content in it is a list, a series of divs or a table would make it a lot harder to immediately distinguish this list.

    Css opens possibility of styling your html in many ways, but I can't emphasize this enough CSS IS NOT XHTML, it does not excuse you from ignoring tags because a div with the proper css can produce the same effect. Just because you can do an entire site with only div tags does not mean you have to.

    HTML is there now to provide context to the document, and if something is a list, it should be stored in a <ol> or a <ul>, if something resembles a table, it should use table tags, etc.

    The idea is that the implementation of the html and the css should be done in which the html document shows clear context, and the css should be based on that context so that there is a clear separation between data/display. using divs and spans only makes it hard to identify context (aside from the classes your using). And when you spend more time solving a problem with div's that a table would still solve in 10 seconds, then you are wasting your time.

  23. future proofing the web by arifirefox · · Score: 2, Interesting

    When someone makes a site that's IE only, he's not just hurting firefox and opera users. It makes it much more difficult for it to be compatible with future versions of IE. Such short sighted thinking...

    --
    Firefox Power http://firefoxpower.blogspot.com/
  24. tables and accessibility by falconwolf · · Score: 1

    Oh and that's a myth haunting us from 1995-6 by the way. Tables are as accessible as they can be nowadays, especially if used in moderation.

    Ever experienced a table with a screen reader or braille display? True tested and used in moderation tables can be accessible but how many do the testing?

    Falcon
    1. Re:tables and accessibility by suv4x4 · · Score: 1

      Ever experienced a table with a screen reader or braille display?

      Yes, JAWS and HAL.

      True tested and used in moderation tables can be accessible but how many do the testing?

      Your point being?

    2. Re:tables and accessibility by falconwolf · · Score: 1

      True tested and used in moderation tables can be accessible but how many do the testing?

      Your point being?

      My point is that many who use tables for layouts do not make sure they are accessible.

      Falcon
  25. Re:Stop using a CSS as an excuse to produce poor H by Duggeek · · Score: 1

    Nothing brings home a rant about poor web design like wrapping your post in <tt>.

    Well done! </sarcasm>

    If you were a serious contributor, you'd define "poor HTML production". What has hampered the web more than anything else is poor interpretation of existing standards . If nothing else, the first browser wars did their best to annihilate as many "standards" as possible.

    On the web, MSFT may have a point; even if it isn't good, it should look good. Using hybrid or even table-based layouts is a necessary evil in certain cases.

    Now, where is that "Blind Billionaire"? I have a bridge to sell.

    --
    This post © Copyrite Duggeek, all rights reversed.
  26. Too bad CSS isn't better at layout by PapayaSF · · Score: 5, Insightful
    Again, HTML is not a layout language.... That's right, CSS that specifies the layout....

    True, but my question has long been: why is CSS not better at layout? Say I want a page with a header, three columns of content, and a footer that gets pushed down according to whichever column has the longest content. That's a very common layout task, and it's dead simple to do with a table, but so difficult with CSS that (the last time I checked) it was considered a difficult problem even for authors of CSS books! (I haven't tried your link to the Holy Grail on A List Apart, but you must admit that a layout solution that relies on negative margins is the very definition of a kludge.)

    Don't get me wrong: I love using style sheets, and most of the time I'm grateful for CSS. But I hate it that some important things that were once easy have now become hard, all in the name of avoiding tables.

    --
    Q: What does the "B." in Benoit B. Mandelbrot stand for? A: Benoit B. Mandelbrot
    1. Re:Too bad CSS isn't better at layout by Kabal` · · Score: 1
      That's a very common layout task, and it's dead simple to do with a table, but so difficult with CSS that (the last time I checked) it was considered a difficult problem even for authors of CSS books! (I haven't tried your link to the Holy Grail on A List Apart, but you must admit that a layout solution that relies on negative margins is the very definition of a kludge.)


      Lol. It's true.. CSS is garbage at layout. You can however achieve column layouts pretty easily now with floated divs using negative margins. The position of all the divs are all tied in together with the widths of the other columns though and you end up with a bunch of CSS width etc values that all have to be edited at the same time for your layout to work. I'm not really sure how this is supposed to be better than just using tables.

      Seperating layout from content isn't such a big deal either IMO because
      a) 99% of the time your html has to be in a very specific order for your layout to work, not to mention the 8000 wrapper divs and what not you have.
      b) Most websites run off a scripted/coded backend where most of the content is pulled from a database anyways
    2. Re:Too bad CSS isn't better at layout by paddyd · · Score: 1

      I may be wrong, but if you float the 3 columns (e.g. two left, 1 right), and then add a "clear: both;" to the footer, that should meet your requirement.

      I do agree that now and again layouts can be a tad *tedious* with CSS, but most of the time it's because you're accounting for IE6.

    3. Re:Too bad CSS isn't better at layout by Geof · · Score: 1

      why is CSS not better at layout?

      You've got me there. I don't see why it has to be so painful. I fixed a bug the other day, and honestly I don't know why what I did solved the problem: it looks to me like it should cause it. What I was doing before appears reasonable and correct. Firefox and Safari agree that I'm wrong (IE doesn't care either way), and I don't want to read half the spec to figure out why. Sometimes I drop down to table-based layouts because the practical solution means the fast solution, not the clean solution.

      I don't understand why Microsoft and the W3C diverge on box models, or why (IMHO) the W3C picked such a bad one. (Why should an element with padding which appears it should be 100% the width of the page overlap on the right, creating a scroll bar you can never get rid of? There's no way of achieving the desired effect (100% width with a margin) without creating dummy block elements. Idiotic. CSS3 will fix it... someday, but the complexity will go through the roof.) I'm not convinced the best language for the problem is one where any given presentation effect could - in theory - come from any line of CSS code. Debugging CSS can be like trying to figure out the source of a GOTO.

      Maybe this is just a really hard problem. Maybe it's the efficiency characteristics built into the design. Or maybe CSS is just outgrowing itself. Often I hate it, though I appreciate the need. And, like you, I find when it works it's fantastic.

    4. Re:Too bad CSS isn't better at layout by Anonymous Coward · · Score: 0

      True, but my question has long been: why is CSS not better at layout? Say I want a page with a header, three columns of content, and a footer that gets pushed down according to whichever column has the longest content. That's a very common layout task, and it's dead simple to do with a table, but so difficult with CSS that (the last time I checked) it was considered a difficult problem even for authors of CSS books!

      Actually, it's incredibly simple to do with CSS. What is a pain in the neck, however, is doing it with the butchered subset of CSS that is supported by Internet Explorer.

    5. Re:Too bad CSS isn't better at layout by FLEB · · Score: 1

      I don't know the history of it, but I get the feeling that CSS was intended as more of a text-styling language, but the minor layout controls included in it ended up having far more importance that intended.

      --
      Information wants to be free.
      Entertainment wants to be paid.
      You just want to be cheap.
    6. Re:Too bad CSS isn't better at layout by dizzoug · · Score: 2, Insightful

      Seperating layout from content isn't such a big deal either IMO because a) 99% of the time your html has to be in a very specific order for your layout to work, not to mention the 8000 wrapper divs and what not you have.

      If designed properly, the order of your XHTML will matter very little when seperating layout from content. Also, designating many different div tags as wrappers is needless in most situations. You just need to think through a layout idea before coding a single line.

      b) Most websites run off a scripted/coded backend where most of the content is pulled from a database anyways

      Regardless of where the information for a page comes from, you are always in control of how it is rendered to the browser. The rendered XHTML, CSS, and Javascript is where the seperation of layout, content, and behavior is helpful.

      Doug

    7. Re:Too bad CSS isn't better at layout by eat+bugs · · Score: 1

      Use both and pick up whatever you feel convenient at the time you use it -- a freelander.

    8. Re:Too bad CSS isn't better at layout by friend · · Score: 1

      Say I want a page with a header, three columns of content, and a footer that gets pushed down according to whichever column has the longest content.

      This is actually fairly simple, but rather unintuitive due to the broken nature of the CSS box model. Whoever decided that width equals width minus padding and border, must have been smoking crack. That person needs to be identified and suitably punished for his/her transgression against web developers everywhere.

      Anyway; a solution to your layout problem will need to nest boxes in order for you to be able to specify both width, border and padding, as well as maintaining the flow of your page:

      <style type="text/css">
      #header, div.column, #footer {
      border: 1px dashed silver;
      padding: 0em 1em;
      }

      #left {
      width: 33%;
      float: left;
      }

      #center {
      width: 34%;
      float: left;
      }

      #right {
      width: 33%;
      float: left;
      }

      #footer {
      clear: both;
      }
      </style>

      <div id="header">This is the header</div>

      <div id="left"><div class="column">Left column</div></div>
      <div id="center"><div class="column">Center column</div></div>
      <div id="right"><div class="column">Right column</div></div>

      <div id="footer">This is the footer</div>
    9. Re:Too bad CSS isn't better at layout by Stone+Pony · · Score: 2, Interesting
      "why is CSS not better at layout"

      Because CSS stands for Cascading Style Sheet; and style and layout are not the same thing. Style is fonts, colours, line spacing and stuff. CSS is great for style, particularly so where you want to apply a single style consistently across many pages. Layout is about how the building blocks of the page hang together. You can do this using CSS, in the same way that you can handle style using html, but it's not ideal (although on balance I'd rather use CSS for layout than html for style). All of the CSS kludges I can think of right off the top of my head relate to problems of layout, rather than style (unless you want to count image-replacement techniques, which I suppose are a sub-set of style, rather than layout).

    10. Re:Too bad CSS isn't better at layout by the+web · · Score: 1

      Dude, simple, fake it with a background on a parent container element, clear all the floats within the parent element. Dust hands on pants. It's not difficult. It's a very simple thing to do.

      In fact there are even more lean ways to accomplish this. IE clears contained floats (albeit incorrectly) and ignores (doesn't support) the :after method. On the container div simply create invisible content that comes in :after all of it's child elements and has a clear method attached directly to it. IE clears incorrectly but in the desired fashion, and all other browsers support the :after method thus creating a clearing block level invisible element.

      --
      __
      Thou hast besquirted me, O leotarded one.
  27. Re:Stop using a CSS as an excuse to produce poor H by Aladrin · · Score: 2, Insightful

    I totally agree. I tried to be a CSS-zealot for a while. I even made the mistake of trying to totally avoid tables except for 'tabular data' and I am seriously paying the price for it now in the application I'm working on. It's very tempting to go back and rework it so that I don't have to worry about it any more.

    The issue? jQuery. There's a TON of neat things like slide and calendar than simply break my CSS, no matter what I do. If I'd designed more simply, with a well-placed table or 2, then I'd have a great looking interface AND be able to use jQuery's Interface plugins.

    --
    "If you make people think they're thinking, they'll love you; But if you really make them think, they'll hate you." - DM
  28. Re:Stop using a CSS as an excuse to produce poor H by Anonymous Coward · · Score: 0

    Yada! Yada! Yada!

    Table-less layouts enable you to change the layout of your website without the need of rewriting a single line of HTML...

    Good luck making one of those -td- go from left to right...

    Table-based layouts are for WYSIWYG wannabe designers/developers.

    You are probably still using gif-based whitespace.

  29. Re:Stop using a CSS as an excuse to produce poor H by HaMMeReD3 · · Score: 2, Insightful

    Well the goal of any good developer should be to implement the solution as elegantly and simply as possible. Being a css-zealot is not bad, as long as you don't go out of your way to say "look what css can do". It's about using the right tools for the job at hand.

  30. Re:Stop using a CSS as an excuse to produce poor H by HardSide · · Score: 0

    And you aren't defining the specific px placement of the div because...?

    Your fault for using style=float:left

    But honestly, I know what your saying, with your example its gonna be a problem when the new CSS 3.0 gonna be implented and most webdesigners will use the div border image tag...and we all know the old browsers won't support it, nor some new ones until a later time. To solve this you will need to create a table around the div, so you can have that border image effect.

    Honestly, we are all screwed unless something changes, either all browsers are to follow one standard, or webdesigners keep the code they have and not go with the new simplistic way of making things.

  31. Out of date the moment it's published. by Anonymous Coward · · Score: 0

    No IE7 coverage to speak of? WTF?
    The only point in actually buying one of these books is to have a current and comprehensive breakdown of what works and what doesn't. Rather than finding one webpage that discusses one issue.

  32. Re:Stop using a CSS as an excuse to produce poor H by Anonymous Coward · · Score: 0

    You were too lazy to use the nine characters ?

    If you're too lazy to type nine extra characters, why should anyone bother to read your point of view?

  33. AJAX benefits from clean HTML by Geof · · Score: 2, Interesting

    If you want true separation, use XML for the data, and XSLT to transform it into HTML.

    That's what I used to do too, until I read Zeldman. I loved it. One of the big disadvantages, however, is that you lose the semantics of HTML (such as they are). Those semantics are valuable - for search engines (clean HTML can make a big difference) and for other applications. There aren't a lot of data formats as well-understood and universal as HTML; that's worth taking advantage of. Remember, your HTML is likely to outlast whatever data source you're pulling your content from.

    These days I depend on those semantics. I've been doing DOM work with Javascript to add dynamic annotation with margin notes and highlighting to web pages. I need to know the content model so I can determine where I can insert tags to add highlighting (<em> can go in <p> but not in <style>, for example). I locate highlights by counting words, so I need to know where words break. Block-level elements break words, while inline elements don't (so in your example you need a minimum of div, a, and span). I also collect other metadata, like the title and author of the annotated content, and so on. I do that by looking for elements in the document tagged with specific microformat classes.

    What are the benefits? Well, if you look at my code, the output of my Javascript or my Atom feed, the information is all meaningful in a standard way. This can reduce or simplify glue code if you need to work with my data - and I think the universal experience with glue code is that although it seems simple and brainless, it gets heavier and heavier until it places serious limits on application complexity. Over time, I hope this kind of standardization can slowly lead to apps and libraries being easier to plug together. The standardization of HTML, and the shared meaning of some of its elements has already proved a huge win on the Web, messy, inconsistent, and broken as it is.

    But I'm a geek of simple pleasures. Right now, I'm just thrilled that my transport format I picked - Atom (with embedded HTML) - is machine readable and shows up with sensible formatting in a generic feed reader. (I couldn't afford to use HTML if were a layout language, because then changing the look would break my machine parsing.) It's not rocket science - but that's kind of the point.

    1. Re:AJAX benefits from clean HTML by Gr8Apes · · Score: 1

      First off, I'm not arguing your points about how using standards and configuration help your app. Grats that you got something to work the way you want. That doesn't change the fact that HTML, from the perspective of a data description language, is hopelessly broken. Using a subset to achieve your desires does not invalidate that truth. It's very similar to saying I use "English with a couple of symbols" as my data description language.

      As to adding span tags, aren't spans merely divs that aren't "broken" (ie - still presentation). Meta data is a different beast, and is XML for the most part.

      I'd argue straight XML is more valuable to search engines (HTML is a subset of XML, after all;). Think about how much cruft there is in a standard commercial web page with ads. I could point you to several very popular and known sites that would make you cringe. The funny thing is that the actual dynamic data is relatively miniscule, like 0.0001% of the page. So, with XML/XSLT, you could have a 1-time download of the template, and the remaining data would be 1/1000th of the current page. One site I know of has an alternate interface powered through XML which although verbose, is still 1000th of the data traffic that would otherwise be served. Note: I'm assuming that the XML data sent is only the actual data/meta data required for content, the XSLT handles all aspects of the presentation layer using that content.

      As for Javascript, it doesn't even need to change. XML/XLST transforms to a nifty neat HTML DOM in your browser that you can walk with JS. Better yet, with a proper XML design, you're now setup to do AJAX where ever you feel like, and it will perform. Oh, and if you want to hide the XML underpinnings, perform the XSLT transform at your server, although that defeats the efficiency aspect.

      --
      The cesspool just got a check and balance.
  34. Re:Stop using a CSS as an excuse to produce poor H by Anonymous Coward · · Score: 0

    I agree too.

    if you need columns, tables have columns. use a table. a div is not a column without some extra effort.
    Bottom line: use the tags for how they behave naturally first, before applying style.

    just because you can style a div tag to behave as a column doesn't mean you should.
    you can also style a headline tag to behave like a column, but it also doesn't mean that you should.

    The path of the zeolet is never easy, and sometimes even blind.

  35. Re:Stop using a CSS as an excuse to produce poor H by Scarblac · · Score: 1

    It's funny, first you say that using tables for layout is justified, then the rest of the post is the argument that the HTML should reflect the nature of the content, which can then be styled by CSS. Which is of course exactly the argument against using tables, since after all your entire page is not tabular data.

    I've been having more fun with HTML since I really "got" seperating content and style; you find out about new tags you never knew about, like <address>, and I didn't even know about <dl> tags until recently. The <div> tag should be used as a last resort, when no other HTML tag fits the bill; that's usually the case for blocks that are just layout units.

    All that said, the three column layout is used so often, is so simple with tables and so complex to do well with divs (especially when you want them to be equal height automatically), I think using them there is justified. But that's about the only exception.

    --
    I believe posters are recognized by their sig. So I made one.
  36. CSS supports table layout by Nurgled · · Score: 1

    The CSS 2 standard actually supports table-based layout applied to any markup. However, it's one of the many things that Microsoft simply haven't bothered to implement in their butchered tag soup layout engine. Let's not blame CSS here, but instead blame the one browser that leaves out the two most important layout features of CSS: the table model and generated content. With those two things, the common grid-based layouts that we all desire would be so much easier to create.

    There are still several things missing in CSS2, of course. Many of them are addressed in CSS3, but I doubt that'll ever see the light of day.

  37. Re:Stop using a CSS as an excuse to produce poor H by big_gibbon · · Score: 1
    Leaving aside solving your problems with making robust layouts with CSS . . .

    It's good css practice (not professional practice, educational FOR LEARNING practice) to write a site completely in div or spans, but most these other tags are not going anywhere soon, and provide context for your document, for example, in a layout I'm working on now, I use styled ol to achieve the same effect that I would traditionally get from a table. I could also achieve the same effect using a series of divs or with styled tables. Although the ol makes the most sense when viewing the source because the nature of the content in it is a list, a series of divs or a table would make it a lot harder to immediately distinguish this list.


    Not at all! It's not in any way good practice to use divs and spans except where there's no more appropriate element! What you're talking about here is HTML development, not CSS development. You can't do CSS without HTML to hang it on (well OK XML, but let's not get into that).

    One of my pet hates is sites which have source code consisting entirely of divs with no semantic markup whatsoever. If you can point to any educational resources which advocate the use of semantically null elements over decent markup, then please post them here so they can be educated!

    P
  38. Re:Stop using a CSS as an excuse to produce poor H by tehcyder · · Score: 1

    For your information, Opera 8 won't load your brokenpixel site...

    --
    To have a right to do a thing is not at all the same as to be right in doing it
  39. Meaning and message can't be separated by samdutton · · Score: 1

    CSS gurus tend to assume that style, form and content can be separated.

    In reality, they're all mixed up.

    Think of a really good poem or film or advertisment -- where does content end and 'style' begin? Likewise for web pages.

    Of course it's good to get rid of font tags and separate CSS from HTML, but it's daft to think you can completely split semantics from presentation.

    Hence the problems people have naming CSS classes: from a quick look at Amazon's code, I found .n2 .clickable and .whiteBG next to .internalLink. MySpace has #copyRight as well as .borDkGrey -- and so on.

    Sometimes I wish we could just start again with something completely different: not HTML, not CSS.

  40. Your example doesn't cut it by Loundry · · Score: 1
    The problem with your example is that the CSS layout, unlike a table, cannot automatically resize the columns to be the same height.

    Consider the following code, a slight modification to your attempt:

    <style type="text/css">
    #header, div.column, #footer {
    border: 1px dashed silver;
    padding: 0em 1em;
    }
     
    #left {
    width: 33%;
    float: left;
    }
     
    #center {
    width: 34%;
    float: left;
    }
     
    #right {
    width: 33%;
    float: left;
    }
     
    #footer {
    clear: both;
    }
    </style>
     
    <div id="header">This is the header</div>
     
    <div id="left"><div class="column">Left column<br /><br /><br />Here's some more text</div></div>
    <div id="center"><div class="column">Center column</div></div>
    <div id="right"><div class="column">Right column</div></div>
     
    <div id="footer">This is the footer</div>
    You'll see that the left column extends all the way to the bottom but the middle and right columns are cut short. Now this isn't a knock against you, against CSS, or even against the famed "buggy implementation" of CSS in today's (and tomorrow's) browsers. It's a knock against the ridiculous bitchiness of CSS adherents who, for religious reasons, think that using a table for layout is the same thing as pureeing a panda cub into a beverage and enjoying it with a garnish of baby.

    Just use a table!
    --
    I don't make the rules. I just make fun of them.
    1. Re:Your example doesn't cut it by friend · · Score: 1

      The problem with your example is that the CSS layout, unlike a table, cannot automatically resize the columns to be the same height.

      I know. However, it's not clear from the original poster that that's what he wants. Also, it's only an issue if you want borders between the columns. If you want all columns to be of equal height while remaining "fluid", then yes: css leaves you high and dry.

  41. Best /. comment ever by Loundry · · Score: 1

    Simple and effective. The very definition of elegance. I'd friend you if I had more slots available, but it seems that I hate too many people. ;)

    --
    I don't make the rules. I just make fun of them.
  42. Tables and accessibility by Loundry · · Score: 1

    My point is that many who use tables for layouts do not make sure they are accessible.

    You're absolutely correct. Over here, don't give a flying fig about accessibility. And the most we will suffer from this choice is some sanctimony on slashdot. I think I can handle that! :)

    --
    I don't make the rules. I just make fun of them.
  43. CSS is more than wanting to avoid tables. by ChaosDiscord · · Score: 1
    ...all in the name of avoiding tables.

    To be clear, it's not all in the name of avoiding tables. Perhaps the best reason to avoid tables is accessibility. CSS is designed to degrade well. When you say what you mean in HTML, web browser can do intelligent things in a sub-optimal environment. Is the web browsing machine simply not powerful enough to handle complex layout (say, on a cell phone or a PDA)? Chuck the CSS and get Just the Facts. Is the internet connection painfully slow or charge by the byte? Turn off CSS and maybe image (an option my my Palm's browser) to speed things up and still get the essential information. Deaf and using a screen reader? A more straightforward layout makes things easier to say to the user; tables are reserved for tabular data for which a better interface can be provided ("This is table titled Budget. Columns are titled 2004, 2005, 2006, and Total. Rows are titled Staff, Hardware, Software, and Total.")

  44. But content, structure and presentation can by alienmole · · Score: 1

    Not sure what you have in mind about poems: most poems are pure content which can be marked up structurally and given almost any presentation. Some presentations will be prettier than others, and will also affect mood and so forth, but the fact remains that content, structure, and presentation have clear distinctions which can be easily drawn in such cases. In some cases, the poem's author may impose a particular presentation, but that's still a separately identifiable property of the poem.

    When it comes to film or other really rich media then sure, the lines are not so sharp. But films aren't made with text markup! You can't cut and paste text from a film, you can't reformat it much for different browsers or display devices, etc. etc.

    BTW, separating content from presentation doesn't mean that there's no connection between the two. Obviously, there's a connection, and that goes a long way towards explaining the naming issue you mention. However, the point is to allow things that can be separated, to be represented separately, to allow mixing and matching, and to help the computer in dealing with the material.

    The biggest problem with the HTML/CSS world is that most of the people working with it don't have the necessary understanding to really do it right, so they rely on rules that someone else has handed down, which are then followed slavishly, often to the point of stupidity. Anyone capable of figuring this stuff out correctly themselves isn't going to stay in front-end web development for long, since there are greener pastures for someone like that.

  45. Zeldman is my hero!!! by august29of73 · · Score: 1

    In my many years of web development, I have found too few sources of mentor. Eric Meyer and Jeffery Zeldman have always been the few!

  46. Deaf and using a screen reader? by pelican66 · · Score: 1

    Presuming you can't also see the browser, you're probably as frustrated as Paris Hilton at a tent revival.

    --
    My company doesn't speak for me, nor do I speak for my company.