html5 | Dmytro Shteflyuk's Home https://kpumuk.info In my blog I'll try to describe about interesting technologies, my discovery in IT and some useful things about programming. Mon, 07 Sep 2015 23:10:49 +0000 en-US hourly 1 https://wordpress.org/?v=6.7.1 10 recommendations on using HTML5 today (aka Homo-Adminus Blog 2.0 HTML5ified) https://kpumuk.info/development/10-recommendations-on-using-html5-today/ https://kpumuk.info/development/10-recommendations-on-using-html5-today/#comments Mon, 20 Jul 2009 14:00:14 +0000 http://kpumuk.info/?p=751 There was a lot of articles about HTML5 last days, so when Alexey Kovyrin asked me to help him with his new blog design I saw no other choice but using HTML5. There are a lot of new features added since HTML4, and some of them could be used today, like new elements <header>, <footer>, […]

The post 10 recommendations on using HTML5 today (aka Homo-Adminus Blog 2.0 HTML5ified) first appeared on Dmytro Shteflyuk's Home.]]>
There was a lot of articles about HTML5 last days, so when Alexey Kovyrin asked me to help him with his new blog design I saw no other choice but using HTML5. There are a lot of new features added since HTML4, and some of them could be used today, like new elements <header>, <footer>, <nav>, <article>, <section>, etc. I think this is a nice addition to the HTML, because these elements add more sense to an unstructured markup. There is a buzzword “semantic” exists to describe this, but I don’t like buzzwords, so I would call it “sense”. So what features we could get from HTML5, that are supported by all modern browsers?

Ok, there is not so much of a difference between HTML4 and HTML5 from web-developer standpoint, just some <div> elements are replaced with more meaningful ones (I’m talking about markup now, not about new APIs. Here is what I mean:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Homo-Adminus Blog</title>
    <link rel="stylesheet" href="style.css" type="text/css" media="screen" />
    <!--[if IE]>
    <script src=" http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
  </head>
  <body>
    <div id="container">
      <header id="page-header">
        <nav id="menu">
          <ul>
            <li><a href="#">Home</a></li>
            <li><a href="#">Resume/CV</a></li>
            <li><a href="#">Projects</a></li>
            <li><a href="#">Photos</a></li>
            <li><a href="#">Contact</a></li>
          </ul>
        </nav>
      </header>
      <div id="page-content">
        <section id="content">
          <article>
            <header>
              <h2><a href="#">Loops plugin for rails and merb released</a></h2>
              <p class="meta">
                Posted by Scoundrel under
                <a href="#">Development</a>,
                <a href="#">My Projects</a>,
                <a href="#">Networks</a>
              </p>
            </header>
            <aside>
              <time datetime="2008-08-20">Sun 20<br />Aug<br />2008</time>
            </aside>
            <section class="text">
              Article content goes here.
            </section>
            <footer>
              <p>
                Tags:
                <a href="#" rel="tag">github</a>,
                <a href="#" rel="tag">plugin</a>
              </p>
              <p>
                <a href="#comments">1 Comment</a> |
                <a href="#">Bookmark on del.icio.us</a>
              </p>
            </footer>
          </article>
        </section>
       
        <footer id="page-footer">
          Copyright &#169; 2009 <a href="#">Alexey Kovyrin</a> |
          Designed by <a href="#">Tatiana Kovyrina</a>
        </footer>
      </div>
      <nav id="sidebar">
        <section id="categories" class="left">
          <header><h3>Categories</h3></header>
          <ul>
            <li><a href="#">Admin-tips</a> (26)</li>
            <li><a href="#">Blog</a> (2)</li>
            <li><a href="#">Databases</a> (33)</li>
          </ul>
        </section>
      </nav>
    </div>
  </body>
</html>

In a few words: the only difference is that we use new HTML elements instead of descriptive CSS class names and IDs. I’m not going to describe all new features of HTML5 here, the good introduction could be found here or here.

Here are my recommendations on using HTML5 today:

  1. To enable new HTML5 elements in IE you should use document.createElement — see lines 6-8, explanation is here.

  2. Ensure that new HTML5 elements are block level:

    1
    2
    3
    4
    5
    header, footer, section, nav, article, aside {
        margin: 0px;
        padding: 0px;
        display: block;
    }
  3. Use <section> element if you need to add a block of specific content, like categories list (lines 54-61). Use good old <div> to add a markup element with no specific sense (for example, <div id="container"> on line 11).

  4. Use <nav> element to create any sort of navigation panes (top-level menu, sidebar, footer links). Do not use <aside> to create sidebars — this is wrong!

  5. <header> and <footer> elements are good candidates to wrap any heading (logo, top level navigation, and almost everything that visually is under the main content) and bottom (article metadata, page footer, bottom links, and almost everything that visually is below the main content) information. You can use these elements inside other elements like <nav>, <article>, or <section>, so use them.

  6. New element <article> contains a block of information inside the main content area. It could be an article or blog post, a comment, a particular book description in bookstore, etc. Be creative and use this exciting element to fill your pages with a sense.

  7. The most controversial element is <aside>. Lots of articles about HTML5 in the Internet suggest to use it for the sidebar navigation, but that is absolutely wrong. Use this tag to take some information out of primary content. Good candidates are footnotes or side notes, quotes, comment author’s avatar, etc. Yes, I’ll repeat: be creative.

  8. Almost everything you do in HTML4 is valid for HTML5: use unordered lists <ul> of list items where order does not matter, use ordered lists <ol> otherwise. Use tables (yes, <table>) for tabular data structures (and not for layout). Paragraphs, emphasizes, quotes, and much more elements should take their own place in your markup.

  9. Use validator to ensure you are doing it right.

  10. Read the code. The good place to start from is HTML5 Gallery.

You can start using HTML5 right now. It’s our future, and we need to know, how would it look like.

PS. Did you notice the nice code syntax highlighting in this blog? I’m using CodeColorer — the best syntax highlighting plugin for WordPress. Try it and you will stay with it forever!

The post 10 recommendations on using HTML5 today (aka Homo-Adminus Blog 2.0 HTML5ified) first appeared on Dmytro Shteflyuk's Home.]]>
https://kpumuk.info/development/10-recommendations-on-using-html5-today/feed/ 12