Our website will be down for scheduled maintenance on Thursday, September 18, at 11 p.m. Pacific Time and should be back up by Midnight. We apologize for any inconvenience.

Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member

Why do we need new structural elements?

From: HTML5: Structure, Syntax, and Semantics

Video: Why do we need new structural elements?

Since this course focuses on the structure and semantics of HTML 5.

Why do we need new structural elements?

Since this course focuses on the structure and semantics of HTML 5. I think it's fair to address, at the outset, a question I've heard more than once. Do we really need new structural elements? Well, what's wrong with the ones we had? Well, nothing's wrong with the elements in HTML 4 per say. And I think it's important to point out, that they're all still there, they all still work. And there's absolutely preventing you from using them. Now to understand why the improvements to structure and semantics in HTML 5 are such a big deal, let's take a look at a sample page.

So here I have html4_plain.htm open, and you can find that and all the other files that I'm going to be working with in this particular unit. In the 0103 folder. Let's take a look at the page structure really quickly. This will look familiar to anybody that's dealt with, HTML 4 before. So here we have, a couple of headings, an h1 and h2. And unordered list, which is responsible for structuring our navigation. And some additional headings and content that, it kind of goes down the page. Okay, that's nice, but, really, the content is not grouped in any way.

It's not described in any way. And there's nothing there telling any type of user agent that might visit this page what differentiates one section of content from the other. In HTML 4, the tag that we used to group content and basically section it off was the div tag. So I'm going to go to my next file. Which is here at this html4_plain2.htm. And you can see here, the content is now being separated and sectioned by using this div tag. Now the div tag is a generic block level element. It really doesn't mean anything.

Semantically it has no meaning at all. All it really does for us is allow us to group content together. It's up to us as authors to add any type of meaning to it at all. And typically the technique that evolved over the years was to add meaning to, or div tags, through the use of class and ID attributes. So if I go over to HTML four plain three, dot htm, you can see that. So here now the div tags have IDs that explain, okay this is the header. This is our navigation, this is our main content, this is our sidebar. And that's much easier to understand.

But the real problem with this, however, is there really aren't any standardized id and class values. I can use any ones that I want. I didn't have to use sidebar, for example. I could've used add, or a secondary content. So creating a system, any type of user agent that can read and understand the content that I've just created, is not a given. Because I can use any ids and class names that I want. If I'm working within a system. But there isn't really one set of standards to guide everybody. Now this problem of providing any type of underlining meaning for what was going on in the code.

Is one of the driving factors behind the development of HTML 5. Way back as far as 2003 and on up, people began to do studies about the types of ids and classes that folks were using out there. And I'm going to point you to a couple of those. John Allsopp did a nice study in 2005. You can find this one on his blog, dog or higher. Just go through the archives into November '05 of 2005. And you can find this article, which contains a really nice study of, the current level of semantics in HTML documents.

And again it's going to give you a sampling of some of the class values and ID values that people were using. Opera did another study as well, and that's the one I really want to look at. So let me switch over here to the ID attribute list study that Opera did. Most people were defining sections of content through IDs rather than classes. It's valuable to look at both of them obviously. But when people started looking at these class and ID values for this wide range of pages, some patterns began to emerge. And you can see them here in the Opera study. Footer, content, header, logo, container.

So, when you take off the clearly nonsemantic elements such as table1, layer1, outerrnumber1. You begin to see some patterns. Search, nav, logo, header, container. Those are the driving forces behind the creation of these new semantic tags within HTML 5. So, coming out with a standard set of tags, would give everybody the ability to consistently identify and define content. Which in turn is going to make it easier for web applications and user agents to parse that content.

And return the proper data. Lets re-imagine this page in HTML 5, so I'm, I'm back in the code here in Dreamweaver and I have html5.htm opened up. And you can see the exact same page but now we're using those descriptive semantic tags that HTML 5 gives us. And it's a lot easier to tell what's going on. There's the header, there's the nav. A article, an aside, and a footer. All of that makes sense to us in terms of what these tags do. Even right off the bat, if you haven't heard anything about the tags. It's pretty easy to identify where the navigation for the page is by just finding the nav element.

Now as easy as that is for us, it's even easier for user agents, so imagine the assistive of technology for example. Knowing exactly what's the content of this element is because it's a nav element. And you can start to see some of the attraction to these html5 semantic elements. Now IDs and classes are still there. And if we want to extend the meaning of these new elements we're free to do that. So if I move over here to html5_2.htm. You can see, I've extended the meaning of article by giving it an idea of main content. So, if I have multiple articles on the page, from multiple sides.

It's fine for me to go ahead and use classes and IDs to further identify them as well. So, what is that mean to your viewers? Well I be honest with you, not a lot. You can see here back in Firefox I've loaded up the first page we looked at which was just that plain HTML 4 document. So, now let's take a look at the same documents divided by div tags. Now, the same document with div tags and ID and classes attached to it. The same document in HTML 5. And the same document in HTML 5 with ids and classes assigned to it. So, no huge differences.

You might've noticed a slight difference between this and this. But the only thing that changed there was the actual heading tag that I used for a specific section. Because there are slight differences in the syntax between HTML 4 and HTML 5, regarding the use of settings. So, as you can see, all of the versions of this page that I've shown you, look exactly the same in the browser. So let's be honest, the structure and semantic markup of the page is not for the viewer. Without looking at the code, viewers would have no idea which page is which. However, browsers, accessibility devices, or other user agents, will notice the difference.

And that's the point of our new semantic markup.

Show transcript

This video is part of

Image for HTML5: Structure, Syntax, and Semantics
HTML5: Structure, Syntax, and Semantics

46 video lessons · 36523 viewers

James Williamson
Author

 
Expand all | Collapse all
  1. 2m 20s
    1. Welcome
      48s
    2. Using the exercise files
      1m 32s
  2. 18m 41s
    1. A brief overview of HTML5
      3m 57s
    2. What's in the HTML5 specification?
      8m 17s
    3. Why do we need new structural elements?
      6m 27s
  3. 50m 33s
    1. Defining HTML5 documents
      5m 5s
    2. HTML5 syntax
      9m 14s
    3. The header element
      5m 22s
    4. The nav element
      4m 55s
    5. The section element
      4m 51s
    6. The article element
      4m 48s
    7. The aside element
      4m 13s
    8. The footer element
      4m 17s
    9. Content model overview
      7m 48s
  4. 35m 28s
    1. Understanding the outline algorithm
      3m 17s
    2. Creating document sections
      8m 25s
    3. Using headings properly
      9m 1s
    4. Using hgroup to override sectioning
      4m 17s
    5. Properly nesting structure
      7m 17s
    6. Sectioning roots
      3m 11s
  5. 58m 30s
    1. Organizing content
      4m 41s
    2. Planning document structure
      5m 47s
    3. Choosing the right structural element
      4m 43s
    4. Checking document outlines
      5m 27s
    5. Coding initial page structure
      5m 28s
    6. Using class and ID attributes
      5m 31s
    7. Structuring headers
      13m 13s
    8. Building navigation
      7m 1s
    9. Structuring footers
      6m 39s
  6. 1h 27m
    1. Working with figure and figcaption
      7m 12s
    2. Grouping content with asides
      3m 46s
    3. Using divs in HTML5
      5m 0s
    4. Working with lists in HTML5
      7m 10s
    5. The return of bold and italic
      5m 52s
    6. Citing works semantically
      6m 32s
    7. Using the address element
      5m 24s
    8. Using the small element
      4m 24s
    9. Using the mark element
      5m 16s
    10. Working with date and time
      11m 55s
    11. Creating block-level links
      8m 53s
    12. Understanding link relationships
      9m 28s
    13. Defining link relationships
      6m 23s
  7. 17m 22s
    1. Current browser support
      7m 38s
    2. Ensuring block-level display
      4m 3s
    3. Adding support for elements in older browsers
      5m 41s
  8. 3m 46s
    1. Additional Resources
      3m 46s

Start learning today

Get unlimited access to all courses for just $25/month.

Become a member
Sometimes @lynda teaches me how to use a program and sometimes Lynda.com changes my life forever. @JosefShutter
@lynda lynda.com is an absolute life saver when it comes to learning todays software. Definitely recommend it! #higherlearning @Michael_Caraway
@lynda The best thing online! Your database of courses is great! To the mark and very helpful. Thanks! @ru22more
Got to create something yesterday I never thought I could do. #thanks @lynda @Ngventurella
I really do love @lynda as a learning platform. Never stop learning and developing, it’s probably our greatest gift as a species! @soundslikedavid
@lynda just subscribed to lynda.com all I can say its brilliant join now trust me @ButchSamurai
@lynda is an awesome resource. The membership is priceless if you take advantage of it. @diabetic_techie
One of the best decision I made this year. Buy a 1yr subscription to @lynda @cybercaptive
guys lynda.com (@lynda) is the best. So far I’ve learned Java, principles of OO programming, and now learning about MS project @lucasmitchell
Signed back up to @lynda dot com. I’ve missed it!! Proper geeking out right now! #timetolearn #geek @JayGodbold
Share a link to this course

What are exercise files?

Exercise files are the same files the author uses in the course. Save time by downloading the author's files instead of setting up your own files, and learn by following along with the instructor.

Can I take this course without the exercise files?

Yes! If you decide you would like the exercise files later, you can upgrade to a premium account any time.

Become a member Download sample files See plans and pricing

Please wait... please wait ...
Upgrade to get access to exercise files.

Exercise files video

How to use exercise files.

Learn by watching, listening, and doing, Exercise files are the same files the author uses in the course, so you can download them and follow along Premium memberships include access to all exercise files in the library.


Exercise files

Exercise files video

How to use exercise files.

For additional information on downloading and using exercise files, watch our instructional video or read the instructions in the FAQ.

This course includes free exercise files, so you can practice while you watch the course. To access all the exercise files in our library, become a Premium Member.

Join now "Already a member? Log in

Are you sure you want to mark all the videos in this course as unwatched?

This will not affect your course history, your reports, or your certificates of completion for this course.


Mark all as unwatched Cancel

Congratulations

You have completed HTML5: Structure, Syntax, and Semantics.

Return to your organization's learning portal to continue training, or close this page.


OK
Become a member to add this course to a playlist

Join today and get unlimited access to the entire library of video courses—and create as many playlists as you like.

Get started

Already a member?

Become a member to like this course.

Join today and get unlimited access to the entire library of video courses.

Get started

Already a member?

Exercise files

Learn by watching, listening, and doing! Exercise files are the same files the author uses in the course, so you can download them and follow along. Exercise files are available with all Premium memberships. Learn more

Get started

Already a Premium member?

Exercise files video

How to use exercise files.

Ask a question

Thanks for contacting us.
You’ll hear from our Customer Service team within 24 hours.

Please enter the text shown below:

The classic layout automatically defaults to the latest Flash Player.

To choose a different player, hold the cursor over your name at the top right of any lynda.com page and choose Site preferencesfrom the dropdown menu.

Continue to classic layout Stay on new layout
Exercise files

Access exercise files from a button right under the course name.

Mark videos as unwatched

Remove icons showing you already watched videos if you want to start over.

Control your viewing experience

Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.

Interactive transcripts

Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.

Are you sure you want to delete this note?

No

Your file was successfully uploaded.

Thanks for signing up.

We’ll send you a confirmation email shortly.


Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.