Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Finally We Get New Elements In HTML 5

Posted by ScuttleMonkey on Wed Aug 08, 2007 12:49 PM
from the not-so-patiently-waiting dept.
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."
+ -
story

Related Stories

This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • Oh noes! (Score:4, Funny)

    by HitekHobo (1132869) on Wednesday August 08 2007, @12:51PM (#20159461) Homepage
    And here I was thinking that solved all of my web design problems. Now I might have to learn a second type of tag!
  • Excellent! (Score:5, Interesting)

    by Anonymous Coward on Wednesday August 08 2007, @12:53PM (#20159479)
    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.
    • by Conspiracy_Of_Doves (236787) on Wednesday August 08 2007, @01:02PM (#20159627)
      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.
      • Re: (Score:3, Insightful)

        by Anonymous Coward
        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 [wikipedia.org].

        Changing <div class="article"> to <article> accomplishes nothing, other than reducing the amount of text that needs
        • Re:Excellent! (Score:5, Insightful)

          by patman600 (669121) on Wednesday August 08 2007, @01:34PM (#20160221)
          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.
          • Re:Excellent! (Score:5, Insightful)

            by Xtravar (725372) on Wednesday August 08 2007, @03:14PM (#20161729) Homepage Journal
            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.
        • Re:Excellent! (Score:5, Insightful)

          by Bogtha (906264) on Wednesday August 08 2007, @02:15PM (#20160901)

          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.

        • Re:Excellent! (Score:5, Informative)

          by Touvan (868256) on Wednesday August 08 2007, @03:31PM (#20161995) Homepage
          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 <article> to <div class="article">). 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".
      • Re:Excellent! (Score:5, Insightful)

        by rhartness (993048) on Wednesday August 08 2007, @01:36PM (#20160279) Homepage
        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.
      • Re:Excellent! (Score:4, Insightful)

        by Asmor (775910) on Wednesday August 08 2007, @02:27PM (#20161071) Homepage

        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>.
        • Re:Excellent! (Score:4, Interesting)

          by Bogtha (906264) on Wednesday August 08 2007, @04:37PM (#20162769)

          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.

    • Re:Excellent! (Score:5, Insightful)

      by LighterShadeOfBlack (1011407) on Wednesday August 08 2007, @01:05PM (#20159669) Homepage
      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.
        • Re:Excellent! (Score:5, Informative)

          by LighterShadeOfBlack (1011407) on Wednesday August 08 2007, @01:40PM (#20160343) Homepage
          Well that's not strictly true. The <article> 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.
        • Re:Excellent! (Score:4, Insightful)

          by LighterShadeOfBlack (1011407) on Wednesday August 08 2007, @02:22PM (#20160985) Homepage
          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.
    • Re:Excellent! (Score:5, Insightful)

      by peter_gzowski (465076) on Wednesday August 08 2007, @01:12PM (#20159817) Homepage
      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.
      • Re:Excellent! (Score:4, Informative)

        by MagicM (85041) on Wednesday August 08 2007, @02:11PM (#20160829)
        multi-file-select [whatwg.org] 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.

    • Re: (Score:3, Informative)

      More tags for browsers to neglect to implement!

      No argument here - but I do take issue with your assessment of the <article> tag. The difference between <div class="article"> and <article> is that "<article>" has some implied meaning that a browser will in fact be able to infer, whereas a browser will not (and should not) infer any real meaning from the CSS class.

      While this is not terribly relevant to rendering the page in it's original/intended format - i can see it being very useful for indexing and searching blogs, encycl

    • Actually, I think you're confusing the semantic content of the element (the former says 'This is a division of a page in the article class', the latter says 'This is an article') with the actual intended content of the element. This is really of particular interest to Semantic Web and RSS technologies, as it gives an actual semantic context to the content inside the element, rather than an implied one that is dependent on human-interpretation to understand.

      The idea of HTML+CSS was to separate semantic mar

    • Re:Excellent! (Score:4, Insightful)

      by telbij (465356) on Wednesday August 08 2007, @01:23PM (#20160051)
      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.
  • Oh great... (Score:5, Funny)

    by Bazman (4849) on Wednesday August 08 2007, @12:54PM (#20159493) Journal
    More things for IE to not support properly.

  • I'd like to see an ability to use a <Declaration> area, then you can use inline (Declare @xxx) or linked (Imports xxx.x) definitions and such.

    Just an idea.

  • Do we need "MORE"? (Score:4, Insightful)

    by Puls4r (724907) on Wednesday August 08 2007, @12:56PM (#20159533)
    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?
    • Bloat is entirely in the hands of the webmaster, not the technology. You are free to use or not use any features of HTML. Having more features gives you more choice, not more bloat. What you include in your web pages is entirely up to you.
        • by hobo sapiens (893427) <<cminor9> <at> <gmail.com>> on Wednesday August 08 2007, @02:18PM (#20160945) Homepage
          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.
    • by telbij (465356) on Wednesday August 08 2007, @01:47PM (#20160477)
      +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.
  • Web 1.0 (Score:3, Funny)

    by Applekid (993327) on Wednesday August 08 2007, @12:56PM (#20159537)
    TFA:

    This new version of HTML--usually called HTML 5, although it also goes under the name Web Applications 1.0--would be instantly recognizable to a Web designer frozen in ice in 1999 and thawed today.
    If you were like me with all the talk about Web 2.0, what happened to Web 1.0, well, here it is. Neat, kind of like Merlyn aging backwards.

    I'm looking forward to Web RC1 in the next 5 years.
  • by fredrated (639554) on Wednesday August 08 2007, @12:56PM (#20159539)
    I thought xhtml was the next iteration after html 4, has that been changed?
    • Yes. Kind of.

      There are currently to Working Groups in the W3C working on markup -- the XHTML working group [w3.org], and the HTML working group [w3.org]. 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 [whatwg.org] independent "HTML5 [whatwg.org]" 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.

      • Re: (Score:3, Interesting)

        W3 decided just to bring what-wg HTML5 into the fold, not give up on xhtml.
        The browsers relative level of eventual support will declare the winner after buch blood sweat and tears.
  • by chriss (26574) * <chriss@memomo.net> on Wednesday August 08 2007, @12:56PM (#20159541) Homepage

    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 [wikipedia.org] 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.

  • by Anonymous Coward on Wednesday August 08 2007, @12:58PM (#20159563)
    ...had to be created in an expensive particle accelerator and often decayed before you could hit refresh.
  • by D4C5CE (578304) on Wednesday August 08 2007, @12:59PM (#20159575)
    The tag the world's been waiting for since 1994...
    repeat:byte; 0 = ad nauseam
    With MOD [wikipedia.org] support - of course!
  • by Anonymous Coward on Wednesday August 08 2007, @01:00PM (#20159601)
    And, of course, the addition of the long overdue

    <dupe>http://developers.slashdot.org/article.pl?si d=07/07/20/1226235</dupe>
    tag.
  • by lonechicken (1046406) on Wednesday August 08 2007, @01:01PM (#20159615)
    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.
  • Announcing (Score:5, Funny)

    by Bluesman (104513) on Wednesday August 08 2007, @01:03PM (#20159643) Homepage
    The BRAND NEW HTML 5!

    Almost as good as TeX!

  • Here's a link to the latest HTML 5 working draft (published today) [whatwg.org] for those who like their information first-hand.
  • by El_Smack (267329) on Wednesday August 08 2007, @01:13PM (#20159841)
    Sweet! Can I get my $80K a year job back doing HTML for a dotcom?
    It's 1999 all over again, baby!
  • permablink? (Score:5, Funny)

    by jdunlevy (187745) on Wednesday August 08 2007, @01:14PM (#20159875) Homepage
    I sure hope one of the new elements is finally permablink [kibo.com]!
  • Seems useful (Score:5, Informative)

    by mrjb (547783) on Wednesday August 08 2007, @01:24PM (#20160065)
    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.
  • by Animats (122034) on Wednesday August 08 2007, @01:31PM (#20160171) Homepage

    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.

    • by PipianJ (574459) on Wednesday August 08 2007, @01:44PM (#20160431)

      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 [w3.org]. There are other issues too, but I can't pull them off the top of my head at this time.

  • </> 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"
    • by _xeno_ (155264) on Wednesday August 08 2007, @01:00PM (#20159599) Homepage Journal

      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.