Slashdot Mirror


Finally We Get New Elements In HTML 5

An anonymous reader writes "Pure HTML enhancements hardly grew at all in the last eight years. Forward motion basically stopped in 1999 with HTML 4. Now the future looks bright. Recently, HTML has come back to life with HTML 5. Tons of new elements will be available for structure (article, nav, section, etc.), block semantic elements (aside, figure, dialog), and several other functions."

46 of 378 comments (clear)

  1. Oh noes! by HitekHobo · · Score: 3, Funny

    And here I was thinking that solved all of my web design problems. Now I might have to learn a second type of tag!

  2. Excellent! by Anonymous Coward · · Score: 5, Interesting

    More tags for browsers to neglect to implement!

    On a slightly more serious note, it sounds like they're giving up on having most browsers support CSS styling of XML, and just adding new tags that serve no point other than being CSS targets. Semantically, what's the difference between:

    <div class="article">...</div>

    And:

    <article>...</article>

    Answer: Nothing. One is easier to type and less verbose, and the CSS selector rule saves a single character.

    1. Re:Excellent! by Conspiracy_Of_Doves · · Score: 5, Funny

      The whole point of a semantic tag is that it is machine parsable. A script that is interpreting the page will know what parts of the page is the article, which parts are the navigation, which parts are the advertisements, and so on.

      Actually, they need to put in an <ad> tag.

    2. Re:Excellent! by LighterShadeOfBlack · · Score: 5, Insightful

      The idea is that an "article" is semantically different from other text. It's all well and good styling your text with <span class="header">, <span class="emphasis">, <span class="cite"> etc. to make your text look good on your webpage but that's no good for a computer that's trying to interpret your text in a meaningful way. By using semantic tags it should mean computers can do more in terms of searching and indexing the web to allow all of us to find what we want faster.

      --
      Spelling mistakes, grammatical errors, and stupid comments are intentional.
    3. Re:Excellent! by corsec67 · · Score: 4, Funny

      Apparently slashdot got rid of it for you...

      --
      If I have nothing to hide, don't search me
    4. Re:Excellent! by peter_gzowski · · Score: 4, Insightful
      Well, I would have preferred HTML 5 to add things that I could use (perhaps an include or multi-file-select), but I think the answer to your question is: readability. The div's can nest up to the point that you forget what the is paired with. I end up writing XHTML like this:

      <div id="foo">
          <div id="bar">
              <div id="baz">
      ... lots of stuff ...
              </div> <!-- End of "baz" -->
          </div> <!-- End of "bar" -->
      </div> <!-- End of "foo" -->
      If what I'm using to id my div's is actually a common semantic, then maybe it should have its own tag.
      --
      "Now gluttony and exploitation serves eight!" - TV's Frank
    5. Re:Excellent! by Anonymous Coward · · Score: 3, Insightful

      And how is <div class="article"> not machine parsable?

      The problem with semantic anything is that it requires an agreement as to what marks what. If you want to be able to mark articles right now, you can do it with HTML 4, and agreeing that anything that is semantically an article is marked with the "article" class. In fact, it's already been done: they're called microformats.

      Changing <div class="article"> to <article> accomplishes nothing, other than reducing the amount of text that needs to be typed, with the side-effect of requiring people to upgrade their browser.

    6. Re:Excellent! by telbij · · Score: 3, Insightful

      The difference is that <article> is an element defined by HTML 5 with a documented meaning. <div class="article"> is a generic element with an arbitrary attribute defined by the document author.

      I would go so far as to say <div class="article"> is semantically useless. Sure a human or a clever heuristic engine can infer some meaning from that, but it's too imprecise to be of much use on a large scale aggregation or data mining.

      Frankly I'm not a huge believer in HTML semantics anyway. Standards snobs will endlessly critique the use of a <ul> vs an <ol> on the merit of "semantics" which in practice makes no appreciable difference. It's like they've never seen tag soup and the real reason for using CSS.

      That said, a lot of these new tags are well overdue. If you consider HTML hasn't changed in 10 years and at that time we barely knew how the web would be used. HTML is pretty good for traditional text, but it has virtually nothing for the web as we know it. For instance, structural markup defining navigation has an actual tangible benefit. Browsers (especially screen readers) could make wonderful use of that information.

    7. Re:Excellent! by patman600 · · Score: 5, Insightful
      Because there is no standard. You could have

      <div class="article"> or <div class="main texty stuff">
      . If there is a standard, then things like screen readers will easily be able to divide the article text from a navigation section. Imagine telling your computer to read you the article, and not having to wait for it to work it's way past the navigation bar. Or skipping back to the nav bar if you are tired of the article half way through.
    8. Re:Excellent! by rhartness · · Score: 5, Insightful

      No, they shouldn't because it would be a waste of time. No web designer in their right mind would mark any thing as an object because, sure enough, as soon as it's implemented in an HTML spec, some one out there will right a plug-in to hide those elements.

      Web developers want their ads to be seen. They aren't going to make it easy for those ads to be blocked.

    9. Re:Excellent! by LighterShadeOfBlack · · Score: 4, Informative

      Well that's not strictly true. The element is for "a section of a page that consists of a composition that forms an independent part of a document, page, or site". An example where having that information available to a computer might be useful is in search results:

      Imagine someone searches for radioactive horses, and Google has crawled two web pages which contain those two words, one in which both words occur within ordinary prose, the other in which each word occurs in separate sibling <article> elements. It could very well make sense to give the page with the <article> elements a lower precedence because from the semantic information we know that there's a good chance the two peices of text are independent of each other (ie. that there is no text about radioactive horses, just two different peices of text: one involving something radioactive and the other involving horses).

      Of course this isn't the only way it might be helpful, that's just something off the top of my head. The point is that giving text some additional meaning does have benefits, even if they aren't always immediately clear.

      --
      Spelling mistakes, grammatical errors, and stupid comments are intentional.
    10. Re:Excellent! by MagicM · · Score: 3, Informative
      multi-file-select is included in Web Forms 2, which is the "forms" part of HTML 5:

      The min and max attributes apply to file upload controls (input elements of type file) and specify (using non-negative integers) how many files must be attached for the control to be valid.

    11. Re:Excellent! by Bogtha · · Score: 5, Insightful

      Microformats are a good solution where a problem is domain-specific. HTML is extensible with mechanisms like the class attribute so that HTML doesn't have to include lots of element types that aren't useful to most people.

      But when something is applicable to a wide variety of situations, the right place for it is in the HTML specification, not as an ad-hoc extension. Otherwise, you could just make the argument for every element type under the sun being replaced with <div class="..."> or <span class="..."> . At that point, you're just using the class attribute as a bodge to avoid new element types, not because it's a good idea.

      Yeah, sure, it's nice that browsers don't have to be updated for microformats to work. But that doesn't mean it's good design to try to stuff everything under the sun into the class attribute. Sometimes the right place for something is in the HTML specification.

      --
      Bogtha Bogtha Bogtha
    12. Re:Excellent! by LighterShadeOfBlack · · Score: 3, Insightful

      Well at this point it's important to note one of the things that HTML 5 is not: XML. HTML 5 is plain-old HTML, meaning it's syntactically forgiving (ie. case-insensitive elements and attributes, closing tags optional). That might not be important for you or me or most other Slashdot users but for the vast majority of people that kind of forgiving behaviour is very important. Can you imagine what Myspace would look like if everyone were required to use Strict XHTML or XML+XSL on their pages? Errors as far as the eye can see I'd wager (whether that would actually be better than Comic Sans and animated backgrounds is another matter).

      HTML 5 is something you can pick up along the way. It's very much accessible to the common man with just a smidgen of computer knowledge. Raw XML is learnable too, if somewhat inconvenient for beginners in its strictness when hand-editing. Styling it on the other hand is not something for the layman. I don't think anyone who's worked with XSLT and XPath could honestly disagree that they are progammers' tools and shouldn't be considered for the casual web author.

      One other benefit of HTML 5 over XML is that it can fail gracefully on old and unsupportive browsers. With HTML 5 the worst thing you're likely to get is HTML 4.01 support with some text that doesn't style appropriately. With XML you're stuck.

      --
      Spelling mistakes, grammatical errors, and stupid comments are intentional.
    13. Re:Excellent! by Asmor · · Score: 3, Insightful

      Actually, they need to put in an <ad> tag. Amusing, but actually scary when you think about it... The only way such a tag would actually be implemented by people with advertising is if there were DRM-like restrictions on browsers forcing ads to be shown. I'm sure it wouldn't be hard to get IE to implement such restrictions, and honestly I wouldn't be surprised if they found a way to force Firefox to implement them too. So i say nay to <ad>.
    14. Re:Excellent! by Xtravar · · Score: 5, Insightful

      And so how do advertising campaigns fit into this wondrous new paradigm where web developers supposedly have the competence and ethics to only put an article in an article tag?

      The fact of the matter is, nobody will use the damn tags correctly and then a screen reader will read a paragraph on Viagra before actually getting to content.

      More bastardization of already bastardized HTML... and even more new ways to fuck things up.

      --
      Buckle your ROFL belt, we're in for some LOLs.
    15. Re:Excellent! by Touvan · · Score: 5, Informative

      Page authors could use XHTML 5 (XHTML is allowed under the HTML 5 spec, which they call XHTML 5), and include an xsl style sheet that would convert these new tags to something useful in the older browsers which do not support the new tags (convert to ). That way, there is no need for users to upgrade. There are lots of other strategies for dealing with older browsers too. The answer doesn't always have to be "require users to upgrade".

    16. Re:Excellent! by Bogtha · · Score: 3, Interesting

      Personally I think that's a bad idea, since CLASS carries style information, not semantic information

      This is a common misconception. The class attribute is intended for general purpose classification of elements, not merely as a style hook. The idea is that you classify your elements in a meaningful way (i.e. provide semantics), and then your stylesheets, scripts, etc, can use those semantics to manipulate the document in a useful way.

      there's probably already a ton of documents out there using, say [...] and their owners are gonna be really surprised when browsers suddenly start parsing those classes in new and unexpected ways.

      No, they wouldn't be parsed any differently, but they might be rendered differently.

      --
      Bogtha Bogtha Bogtha
    17. Re:Excellent! by Anonymous Coward · · Score: 3, Funny

      What does a screen reader on Viagra sound like?

    18. Re:Excellent! by kennygraham · · Score: 4, Funny

      Barry White + Stephen Hawking

  3. Oh great... by Bazman · · Score: 4, Funny

    More things for IE to not support properly.

    1. Re:Oh great... by Praedon · · Score: 4, Funny

      Somebody set us up the HTML 5
      What?
      We get new tags
      Firefox Turn On
      It's new!
      How are you gentlemen? All your tags are supported by us

      --
      Just me
  4. Do we need "MORE"? by Puls4r · · Score: 3, Insightful

    When existing browsers constantly break standards, do we need "more"?

    I mean, seriously - I can do anything I need to do with a web page with the tools we have right now. Adding more options just results in more bloat, more exceptions and errors, and more difficult compatibility. It means new versions of other software to keep up, and new ways to exploit.

    When do we need well enough alone?

    1. Re:Do we need "MORE"? by Heian-794 · · Score: 3, Interesting

      One thing that should have been covered long ago in HTML but in fact stil requires CSS is vertical writing (such as in Asian languages). It's suprisingly difficult to guarantee correct display for any browser, even though word processors have had this essential feature for years.

    2. Re:Do we need "MORE"? by hobo+sapiens · · Score: 3, Insightful

      Agreed. Not to be overlooked is the javascript code that can be eliminated.

      Want a menu? Gotta write javascript. Want to restrict the length of a textarea? Gotta write a script. Want to make that select box behave like a real select box in a desktop app (where you can type to find a value)? Gotta write javascript.

      New tags that accomplish what should be standard behavior would make most websites much leaner and therefore much more maintainable. TFA did not indicate that select or textarea elements are going to be spruced up, though.

      --
      blah blah blah
  5. what happened to xhtml? by fredrated · · Score: 3, Interesting

    I thought xhtml was the next iteration after html 4, has that been changed?

    1. Re:what happened to xhtml? by jalefkowit · · Score: 5, Interesting

      Yes. Kind of.

      There are currently to Working Groups in the W3C working on markup -- the XHTML working group, and the HTML working group. These are separate entities with separate memberships and separate processes.

      XHTML was originally intended to be the successor to HTML. But a couple of things that happened after XHTML1 "shipped" caused that to be re-evaluated:

      • The whole point of XHTML was that moving to XML syntax would open up new possibilities for user-agents: not just browsers (whose lives would be simplified by not having to deal with "tag soup" anymore"), but applications that would take advantage of already knowing XML to do cool stuff with the web. Only that never really happened; and because Microsoft wasn't on board, browser vendors still had to parse the "tag soup" anyway.
      • The XHTML Working Group went off the deep end and announced that XHTML2 would handle errors the way XML parsers are supposed to: by shutting down and throwing up an "Non-conforming document" error. Needless to say, this is not how the Web works today, and it threw a scare into millions of Web publishers who incorporate third-party content that they have no control over (like, say, ads) in their sites. They also proposed major changes to the syntax of XHTML2 versus XHTML1 to clean it up and make it more logical; which sounds great until you realize that now you have to teach those millions of web publishers a whole new syntax or their sites break.

      When it became clear that continuing down the XHTML path promised tons of heartburn for publishers and user-agent developers without much reward in return, people started thinking that maybe rebooting the HTML specification process wouldn't be such a bad thing. The W3C picked up the WHATWG's independent "HTML5" spec as a starting point, and that's where we are today: XHTML is for people who are comfortable with radical changes between versions of the spec and Draconian error processing; HTML is for people who want backwards compatibility and less strict parsing.

    2. Re:what happened to xhtml? by sootman · · Score: 4, Funny

      Screw all this. I'm gonna start my own working group... with blackjack and hookers! In fact, forget the working group.
      - That, of course, would belong in the much anticipated <bender> tag.

      --
      Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
  6. Good and bad at the same time by chriss · · Score: 3, Interesting

    On the one hand I welcome new tags like datagrid and menu, which will make HTML source easier to handle. Even though the increased complexity will make it harder to start with HTML. Most web developers still have problems with XHTML/CSS, advancing HTML will make that worse.

    Most likely this will lead to more automatically generated code, which in the long run (in combination with XML compliance) should lead to less buggy web pages and general browser compatibility. Which is a good thing. But somehow I think that one of the reasons HTMLs use has become so widespread (Microformats etc.) is simply because it was so easy to mess around with. Making it "better" might slow down innovation in these areas, which would be sad.

  7. Up to now, new HTML elements... by Anonymous Coward · · Score: 4, Funny

    ...had to be created in an expensive particle accelerator and often decayed before you could hit refresh.

  8. Still no <bgsound tune, repeat> ? ;-) by D4C5CE · · Score: 4, Funny

    The tag the world's been waiting for since 1994...
    repeat:byte; 0 = ad nauseam
    With MOD support - of course!

  9. Re:Can't we do all this stuff already? by _xeno_ · · Score: 4, Informative

    Yes, in browsers that fully implement XHTML.

    Which, assuming you want to support IE users, means no.

    Of course, it's not like we can expect IE to rush out to support these new tags either. Making the whole effort, honestly, pointless.

    It's already possible to take a plain XML document and style it completely using only CSS. It turns out to be impractical (some tags sort of require special support that can't be duplicated just by CSS rules, like <img>, <a>, and <script>), but it's possible.

    --
    You are in a maze of twisty little relative jumps, all alike.
  10. The most greatly wanted tag by Anonymous Coward · · Score: 5, Funny
    And, of course, the addition of the long overdue

    <dupe>http://developers.slashdot.org/article.pl?si d=07/07/20/1226235</dupe>
    tag.
    1. Re:The most greatly wanted tag by the_womble · · Score: 4, Funny

      actually the most wanted tag is the irony tag.
      The problem is that most people on /. will not understand how to use it.
  11. So do tags ever deprecate? by lonechicken · · Score: 5, Interesting

    Years from now, are we still going to see IE 10, Firefox 5, and Safari 3.1 support deprecated tags? (Or is it depreciated? Defecated?)

    It's like slapping on a shiny new paint job on your car, but the back seat is still full of old McDonald's bags.

  12. Announcing by Bluesman · · Score: 5, Funny

    The BRAND NEW HTML 5!

    Almost as good as TeX!

    --
    If moderation could change anything, it would be illegal.
    1. Re:Announcing by annamadrigal · · Score: 3, Interesting

      You beat me to it...
      Actually, seriously, one really serious omission from HTML and other "generic" markups which can be read widely is proper support for rendering of mathematical equations. It would be very useful for a lot of us if there was native HTML support for at least some of the more basic mathematical language that's contained in everything which gets written from day to day.
      The structure based nature of TeX and its variants seems self-evidently superior to that provided by HTML even with the various enhancements which have been retrofitted in recent incarnations and add-ons. Whilst TeX equally clearly isn't the right answer for generic web based content (and, indeed, it would be preferable not to have a standard which requires multiple parses to render anything useful) it seems that HTML really isn't what is needed and the more variations and versions that get implemented the more confusion there will be -- and the more deviation from these standards.
      That HTML is already ubiquitous doesn't seem a sufficiently good reason to insist that every new markup language should be a direct superset with ever more variations and multiple ways of achieving the same end. To start with, there's no future in a structure-based approach which makes it so easy to directly change the appearance of content -- think hold much easier it is to write in bold in HTML than it is to indicate that emphasis is required....
      What I think is needed, and surely must emerge sooner or later, is a no markup language based more on TeX and professional typesetting approaches than HTML which actually does things properly....

  13. Link to the actual WHATWG Working Draft for HTML 5 by LighterShadeOfBlack · · Score: 4, Informative

    Here's a link to the latest HTML 5 working draft (published today) for those who like their information first-hand.

    --
    Spelling mistakes, grammatical errors, and stupid comments are intentional.
  14. I'm in the money! by El_Smack · · Score: 4, Funny

    Sweet! Can I get my $80K a year job back doing HTML for a dotcom?
    It's 1999 all over again, baby!

    --


    There are 01 kinds of cars in the world. The General Lee, and everything else.
  15. permablink? by jdunlevy · · Score: 4, Funny

    I sure hope one of the new elements is finally permablink!

  16. Seems useful by mrjb · · Score: 4, Informative

    This will work wonderfully because the HTML standard was designed from the ground up with graceful degradation in mind.

    Even if browsers do not support these tags, the content of the tags will be displayed- if you don't want this, simply comment them out like so:

    <newtag><!-- some stuff --></newtag>.

    For tags that do not want their content displayed, there usually is an accompanying 'no' tag:

    <script><!-- script goes here --></script>
    <noscript>Your browser does not support scripts.</noscript>

    With these new tags, browsers may not display a page any differently- instead of

    <div class="article">articletext</div>
    and a stylesheet saying .article { font-family: serif; }

    now you get

    <article>articletext</article>
    and a stylesheet saying
    article { font-family: serif; }

    This will *already* be rendered equally in both old and new browsers. Some of these may end up having a fancier display in new browsers; I imagine dates could have a date picker style pop-up to better visualize the 'when'.

    Even if some extensions seem to have limited use from a front-end rendering perspective, this can have a huge impact on search engines, for example, which is great. Although I must admit that I have second thoughts on some of the tags that seem to require JavaScript.

    --
    Visit http://ringbreak.dnd.utwente.nl/~mrjb/growingbettersoftware to download your free copy of the book
  17. Re:I'll tell you why... by AKAImBatman · · Score: 3, Informative

    Oh, hey, look at that. JsonML. Styled by CSS even. Who would have guessed?

  18. XHTML/HTML divergence by Animats · · Score: 5, Insightful

    What's wierd about this is that it goes off in a completely different direction than XHTML. Tags don't have to be properly closed, no namespaces, etc.

    A big advantage of XHTML was that the conversion to a parse tree was unambiguous. Why give up that at this late date? All this ambiguity breaks visual HTML editors. Dreamweaver 3 was closer to "what you see is what you get" than today's Dreamweaver 8.

    Consider, for example, a lone </br> that doesn't terminate anything. Most browsers today treat that as a valid break, not an orphan tag to be ignored. XHTML was supposed to end that kind of nonsense.

    The problem with XHTML has been that CSS layout was badly designed. "float" and "clear" just aren't a good set of layout primitives. Cell-based layout (yes, "tables") was a fundamentally more powerful concept. But it's not XHTML that's the problem. It's that the positioning mechanisms for "div" sections are terrible.

    Layout is really a 2D constraint problem. Internally, you have constraints like "boxes can't overlap", which turns into constraints like "upper left corner of box B must be below lower left corner of box A", or "right edge of box A and left edge of box B must have same X coordinate". Browsers really ought to do layout that way. Table layout engines come close to doing that. At least with tables you never get text on top of other text. "div" doesn't have comparable power. "float" and "clear" represent a one-dimensional model of layout, and that's just not good enough.

    1. Re:XHTML/HTML divergence by PipianJ · · Score: 3, Interesting

      HTML5 is being developed hand-in-hand with XHTML5, which is merely the XML serialization of HTML5. Don't worry. You don't have to give up <br /> if you don't want to.

      That being said, I do believe that CSS still has fundamental problems that not even CSS3 seems to be solving, such as taking into consideration the growing use of HTML as an application framework rather than a document framework. The most notable issue of this would be the inability to center an object vertically in a viewport without Javascript to determine its size, which is a klutzy hack at best. The float: and clear: primitives, as you mention, are also comparatively weak (since you can't just float an element, have text flow around it, AND position it vertically), though CSS3 is introducing a Multi-column layout module. There are other issues too, but I can't pull them off the top of my head at this time.

  19. Do we really need to stop progress? by telbij · · Score: 4, Interesting

    +5 insightful? WTF? This is the same kind of specious reasoning that leads to such gems as "everything that can possibly be invented has been invented."

    With the one exception of Microsoft letting IE rot for 7 years, the advancement of the web has been steady and rapid. Even while IE was a thorn in our side, we were able to drop support for NS4, then IE5, then IE5.5. Firefox and Safari continually pushed the envelope of standards support. Javascript toolkits proliferated, bridging the gap between implementations. Even 5 years ago, using CSS for site layout was a much more difficult proposition than it is today.

    Now, if you had actually read the article, you would see that some of these tags provide very common functionality that currently require a mess of tag soup, CSS, and/or javascript. <video> and <audio> tags for instance, or <progress>. Sure you can't use them now, but in 10 years everyone will use them, and they'll be horrified with what we used to have to do. There's no reason to stop progress just because a handful of browser makers and lethargic standards bodies haven't yet perfected the first de-facto cross-platform, cross-media information platform in human history.

  20. need more tags by El_Muerte_TDS · · Score: 4, Funny

    </> close previous open tag
    <//> close all open tags
    </fix> instantly fix everything that is wrong with the site
    <beer> because I need one, preferably a one of class="cold"