Tampilkan postingan dengan label html5. Tampilkan semua postingan

Eror Validasi HTML5

Artikel ini dibuat sebagai kelanjutan dari artikel Validasi HTML/XHTML dan HTML5 Problogiz yang lalu, Kumpulan Eror Validasi HTML dan Solusinya. Tidak mungkin tentunya, membahas masalah error validasi yang begitu banyak hanya dalam satu posting artikel, kalau pun iya pasti akan tidak efisien. Memang sejak direkomendasikan W3C, kandidat html masa depan-HTML5, semakin banyak pelaku, pengembang website/blog yang lebih peduli mengenai HTML Semantic atau struktural element HTML5 yang baru.

Bagi pengguna bloggger/blogspot yang menggunakan template berbasis HTML5 banyak menemui kesalahan-kesalahan validasi mark-up HTML, jika di cek di Validator Test seperti W3C Validator. Ini karena memang blogspot belum sepenuhnya support HTML5, ini dapat Anda temui di comment/threaded comments blogger system, maupun eksternal CSS Reset Stylesheet Blogger juga menyumbangkan error di HTML5 Validasi. Pengguna blogspot boleh bersyukur sekarang ada pengganti System Commenting yang Valid HTML5 seperti Google Plus Commenting System (Komentar Google Plus), yang dapat Anda implementasikan di blog.

Bagi yang masih suka menggunakan sistem Komentar Blogger ( khususnya Threaded Comment Blogger) juga tidak perlu bingung lagi, karena fitur ini mungkin penyumbang kesalahan terbanyak, sekarang Anda dapat memasangnya fitur tersebut tanpa ada pesan kesalahan dari validator. Anda dapat melihat tutorialnya di Blog.Kangismet, tentang Blogger Threaded Comments Hack V.3, yang dapat diterapkan di blog Anda (khusus threaded comment bukan single).

Pada Kumpulan Eror Validasi HTML dan Solusinya Part 1 ada banyak pengunjung yang menanyakan atau memberi solusi pada eror-eror validasi HTML5 yang mereka temui. Kali di bagian dua, saya mencoba sharing beberapa solusi dari kesalahan markup atau semantik yang dididapat dari berbagai sumber seperti dari www.stackoverflow.com.

Kumpulan Eror Validasi HTML dan Solusinya Part 2

1. Error Threaded Commenting Blogger

Mungkin Anda pernah menemui kesalahan berikut jika mengaktifkan threaded komentar blogspot:
Bad value for attribute src on element iframe:
Must be non-empty. …t='410' id='comment-editor' name='comment-editor' src='' width='100%'>

Bad value 100% for attribute width on element iframe:Expected a digit but saw % instead.
…t='410' id='comment-editor' name='comment-editor' src='' width='100%'>

The allowtransparency attribute on the iframe element is obsolete.Use CSS instead. 
…t='410' id='comment-editor' name='comment-editor' src='' width='100%'>

The frameborder attribute on the iframe element is obsolete.Use CSS instead. 
…t='410' id='comment-editor' name='comment-editor' src='' width='100%'>

Contoh eror-eror diatas sebagian yang mungkin Anda temui, contoh diatas menunjukkan kesalahan ada di
id='comment-editor'
ini semua di fitur threaded komentar, kurang lebih seperti ini:

<iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' frameborder='0' height='410' scrolling='no' id='comment-editor' name='comment-editor' src='' style='display: none' width='100%'/>

Solusinya:

allowtransparency='true', frameborder='0' scrolling='no' width='100%' style='display: none' src='' , atribut pada iframe sudah ditinggalkan di HTML5, jadi hapus semua kode-kode itu.

Jangan lupa pasang css berikut ditemplate:

iframe{ border:none; overflow:hidden } 
img{ border:none }

◉ Cari kode untuk comment-editor-src :

<a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>

Ganti semua dengan kode yang baru berikut:

<b:if cond='data:blog.pageType == &quot;static_page&quot;'> <a expr:href='&quot;http://www.blogger.com/comment-iframe.g?blogID=&quot; + data:blog.blogId + &quot;&amp;amp;pageID=&quot; + data:post.id' id='comment-editor-src'/> </b:if> <b:if cond='data:blog.pageType == &quot;item&quot;'> <a expr:href='&quot;http://www.blogger.com/comment-iframe.g?blogID=&quot; + data:blog.blogId + &quot;&amp;amp;postID=&quot; + data:post.id' id='comment-editor-src'/> </b:if>

Anda juga akan menemukan kesalahan seperti ini:

The name attribute is obsolete. Consider putting an id attribute on the nearest container instead.
<a name='comment-form'></a>

Attribut name juga tidak valid di html5 (usang)

Solusinya:

◉ Ganti <a name='comment-form'></a> dengan yang baru ini:

<a href='#comment-form'>

sumber: http://blog.kangismet.net/2013/09/tips-membuat-halaman-posting-valid-html5.html


Sampai tahap ini validasi untuk sematik HTML sudah valid, namun belum dibagian script threaded-nya, kurang lebih sebagain contoh error di bagian ini:

Attribute kind not allowed on element div at this point.
 <div id='bc_0_29C' kind='c'><div id='bc_0_29CT'><div id='bc_0_28T' class='comme…

Attribute kind not allowed on element li at this point.
 … id='bc_0_5B' class='comment' kind='b'><div class='avatar-image-container'><im…

An img element must have an alt attribute, except under certain conditions. For details, consult guidance on providing text alternatives for images.
…AAAAAAyI/nr3cnCjbw7A/s512-c/photo.jpg'></img></div><div id='c66438150893583827…

Attribute kind not allowed on element div at this point
…_0_5M' class='comment-header' kind='m'><cite class='user'><a rel='nofollow' hr… </div>

Semakin banyak komentar visitor maka semakin banyak pula eror semacam ini.
Untuk memperbaiki eror tersebut Anda bisa menerapkan hack threaded comment blogger valid html5 beserta style-nya, di tutorial Kang Ismet di alamat berikut:

http://blog.kangismet.net/2013/09/blogger-threaded-comments-hack-v3.html


Baik sobat, sementara cukup di Validasi HTML5 Threaded Comment Blogger, selanjutnya akan ada update-update baru untuk eror-eror yang lainnya di postingan ini.

Read More

Cara Membuat Floating Button Media Sosial valid HTML 5 di Blogger

Valid HTML 5 Tombol Share Melayang
Baiklah Sob, setelah Anda memahami cara membuat button/tombol share Valid HTML 5 Google Plus, Facebook Like, Twitter. Sekarang saatnya membahas bagaimana penerapannya button/tombol media sosial tersebut di setiap halaman posting blog kita. Widget Floating Button/Tombol Sosial Share yang jadi pembahasan kali ini, adalah Floating Button Share (Tombol Share Melayang) tepat disebelah kanan atau kiri halaman posting. Penambahan script JavaScript Asynchronously pada setiap button share (G +, Facebook Like, Tweet) akan membuat loading halaman posting (konten) lebih cepat, prinsipnya scripts asynchronously ini , memungkinkan halaman atau konten dimuat terlebih dahulu (pemakaian share button tersebut tidak mengganggu loading konten), orang akan membaca konten terlebih dahulu bukan?

Sebenarnya Tombol Share Melayang ini adalah hasil modifikasi dari Mashable Floating Button Share, yang telah tayang dipostingan yang lalu. Untuk Preview/DEMO widget ini dapat dilihat setiap halaman post blog ini sebelah kiri main post.


Berikut langkah-langkah cara membuat Floating Button Share valid HTML 5:

Langkah Pertama

Masuk Blogger > pilih Template
Back Up Template > edit HTML > Check "Expand Widget Templates" Box
Lanjutkan > Tekan Control + F
Cari kode <data:post.body/>
Copy kode berikut dan letakkan sebelum/diatas kode <data:post.body/>

<div id='sharebox'> <div class="wdt"> <a class='twitter-share-button' data-count="vertical" href='http://twitter.com/share'> Tweet </a></div> <div class="wdt"> <div class='g-plusone' data-size='tall'></div> </div> <div class="wdt"> <div class="fb-like" data-layout="box_count" data-send='false' data-show-faces='false'></div> </div> </div>

Jangan lupa pasang script "Asynchronous JavaScript loading" untuk button share Google Plus, Twitter dan Facebook Like, caranya bisa dilihat lagi artikel Valid HTML 5 Google Plus, Facebook Like, Twitter Button Share
Note : jika terdapat lebih dari satu kode <data:post.body/> pada template Anda, pilih yang pertama. Kalau tidak berhasil coba yang kedua.

Langkah Kedua

Copy kode jQuery berikut dan letakkan tepat di bawah tag ]]></b:skin>
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js' type='text/javascript'></script>
Jika Anda sudah memasang jQuery libarary min., lewati langkah ini.

Langkah Ketiga

Tambahkan kode CSS berikut tepat diatas tag ]]></b:skin>
#sharebox { float: left; position: absolute; width: 70px; background: #ffffff; box-shadow: 0 -1px 1px rgba(98, 170, 204, 0.28), 0 1px 1px rgba(19, 99, 102, 0.31), 2px 0 120px rgba(51, 128, 131, 0.15) inset; border: 1px solid #dedede; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; left: 0%; height: 200px; height: auto; } #sharebox .wdt { float: left; clear: left; padding: 5px; }
Aturlah dan sesuaikan kode yang berwarna dengan kondisi blog Anda.

Important!!

  1. Aturlah nilai "left: 0%" sesuai dengan lebar container blog posting (main) jika tidak sesuai tampilan yang diinginkan. Semaikin besar nilainya posisi sharebox akan semakin kekanan, set nilai "0 %" untuk test.
  2. Jika mengalami masalah diblog Anda, gantilah "left:0%" menjadi "margin-left=0px;", Anda bisa menggunakan nilai/value min, misalnya "margin-left= -20px;" (intinya sesuaikan dengan lebar container dan pasang posisinya sesuai keinginan)

Langkah Keempat

Copy kode script scrolling ini dan letakkan tepat diatas tag </head>
<script type='text/javascript'> $(document).ready(function() { var $sidebar = $("#sharebox"), $window = $(window), offset = $sidebar.offset(), topPadding = 15; $window.scroll(function() { if ($window.scrollTop() > offset.top) { $sidebar.stop().animate({ marginTop: $window.scrollTop() - offset.top + topPadding }); } else { $sidebar.stop().animate({ marginTop: 0 }); } }); }); </script>

Langkah Kelima

Save Template And That's All
Sekarang Anda bisa menikmati Widget Button/Tombol Share Melayang yang Valid HTML 5 di setiap halaman posting Anda.

Good Luck!!
UPDATE:15 Des 2013
Read More

Cara Membuat Tombol Media Share Valid HTML 5

Valid HTML 5 Google Plus, Facebook Like, Twitter Button Share

Penggunaan button share Google Plus (Google +), Facebook Like, Twitter di halaman blog tak diragukan peranannya dalam meningkatkan traffik/pengunjung blog dengan cara  berbagi link halaman atau artikel/postingan dengan teman atau kenalan di media sosial seperti Twitter, Google Plus dan Facebook. Artikel Valid HTML 5 Google Plus, Facebook Like, Twitter Button Share ini dapat Anda pertimbangkan jika Anda menginginkan tombol share yang valid HTML 5 dan tidak akan mendapatkan komplain pesan eror dari W3C Validator.

Ada banyak sekali tutorial Blogger yang telah menyediakan kode dan script seperti  button/tombol media share widget, floating share button widget, mashable float button/tombol share dst. Namun kebanyakan code maupun script yang digunakan tidak valid HTML 5. Kadang kita menemui pesan error validasi di W3C Validator seperti :
  • Element name fb:like cannot be represented as XML 1.0
  • Element fb:like not allowed as child of element div in this context.
  • Element name g:plusone cannot be represented as XML 1.0.
  • Element g:plusone not allowed as child of element div in this context. (Suppressing further errors from this subtree.), dst.

Eror-eror diatas antara lain yang sering dijumpai di W3C Validator (termasuk pengalaman saya sendiri) yang  umumnya bersumber dari Widget Button Share pada halaman post blog.

Untuk mengatasi eror validasi HTML 5 button/tombol share Google Plus, Facebook Like, dan Twitter tersebut, saya mencoba membagi solusinya dibawah untuk blogger yang mengalami hal yang sama (semoga bisa membantu)

Berikut contoh dokumen kode dan script Valid HTML 5 Google Plus, Facebook Like, Twitter Button Share:

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Share Button Valid HTML 5 by Problogiz</title> </head> <body> <div id='sharebox'> <!-- Google+1 Button --> <!-- Place this tag where you want the +1 button to render --> <div class='wdt'><div class='g-plusone' data-size='tall'></div></div> <!-- Tweet Button --> <div class='wdt'><a href="https://twitter.com/share" class="twitter-share-button" data-url="http://problogiz.blogspot.com/" data-via="problogiz">Tweet</a></div> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script> <!-- Facebook Like --> <div class='wdt'><div id='fb-root'> <script>(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = &quot;//connect.facebook.net/id_ID/all.js#xfbml=1&quot;; fjs.parentNode.insertBefore(js, fjs); }(document, &#39;script&#39;, &#39;facebook-jssdk&#39;));</script><div class="fb-like" data-href="http://problogiz.blogspot.com/" data-send="false" data-layout="box_count" data-show-faces="true" data-font="arial"></div></div></div></div> </body> </html>

Setelah kode button share cek validasi HTML 5 melalui Direct Input di W3C Validator, hasilnya sukses as HTML 5 dokumen :

Valid HTML 5 Google Plus, Facebook Like, Twitter Button Share

Note: Untuk mengecek validitas dari Buton Share tersebut saya sarankan untuk menggunakan kode dokumen HTML 5 diatas secara Direct Input, walaupun saya menggunakan Buton Share ini juga disetiap halaman post blog ini, tapi belum semua halaman post blog ini Valid HTML 5 kecuali Halaman Home Problogiz yang sudah benar valid HTML 5. (belum sempat edit error validitas bawaan blogger di post main dan comment threaded)

Button Google Plus (Google +) Valid HTML 5

Untuk membuat Button Google Plus (Google +) yang Valid HTML 5, Anda tidak perlu susah mencari solusi kemana-mana, sebab Google telah menyediakan kode button +1 khusus untuk HTML 5 dengan kostum button size juga teknik mengurangi load time. Kunjungi Google Developers untuk membuat valid button +1  : https://developers.google.com/+/plugins/+1button/

Pertama Anda harus menempatkan kode Javascript berikut, sebelum tag </head>

<script src="https://apis.google.com/js/plusone.js"></script>

Jika Anda telah memasangnya, lewati saja langkah ini, tidak perlu memasang lagi.

Basic tag button Google Plus, sederhana seperti berikut:

<g:plusone size="tall"></g:plusone>

Untuk membuatnya valid untuk HTML 5, dibutuhkan class attribute pada kode g-plusone, dan penambahan awalan "data-"  setiap atribut tombol/button, sehingga kode valid Button G+ seperti berikut:


<div class='g-plusone' data-size="tall"></div>


Ada beberapa pilihan ukuran dan type anotasi pada button +1, yang dapat Anda pilih di  Google Developers, seperti : anotasi bubble: size small, size medium, size standard dan size tall.

Kemudian "Asynchronous JavaScript loading" yang berfungsi mempercepat loading time button +, Code Asynchronous JavaScript berikut letakkan tepat dibawah tag </div> dari kode button diatas.


<script type="text/javascript"> (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })(); </script>

Button Facebook Like Valid HTML 5

Sama dengan Google +, situs jejaring sosial Facebook juga menyediakan pilihan untuk button share dan button  Facebook like yang valid HTML 5. Untuk membuat button FB Like valid HTMl 5 berikut langkah-langkahnya:
  1. Kunjungi situs Facebook Developershttp://developers.facebook.com/docs/reference/plugins/like/
  2. Masukkan url Blog Anda
  3. Jangan dicek box Send Button
  4. Pilih Layout Style : button_count atau box_count
  5. Pilih ukuran button default
  6. Pilih Verb to display: like
  7. Klik tombol Get Code
  8. Setelah muncul Window Pop Up, pilih opsi HTML 5 ( ada pilihan HTML5 XFBML IFRAME URL),

lihat screenshot :
Button Facebook Like Valid HTML 5

Kode yang ditandai dengan highlight tersebut adalah kode button Like Facebook valid HTML 5, gunakan semua kode tersebut sebagai share button Anda seperti  contoh dokumen diatas.

Button Share Tweet Valid HTML 5

Untuk button share Tweet, Anda dapat membuatnya di situs resourcesnya : https://twitter.com/about/resources/buttons#tweet
  1. Pilih Share Button
  2. Pada Button Option,
  3. Pilih Share URL: Use the page URL
  4. Tweet text: Use the title of the page
  5. Cek box Show count
  6. Masukkan ID Tweet Anda di form: Via@ 
  7. Pilih Bahasa

Anda bisa melihat Preview dan Code button di kolom sebelah kanannya, copy semua kode tersebut dan gunakan sebagai button share Tweet Anda yang valid HTML 5. Kodenya kurang lebih seperti berikut :


<a href="https://twitter.com/share" class="twitter-share-button" data-via="problogiz" data-related="problogiz">Tweet</a>


Cuma kelemahan pada button share Tweet ini, ukuran button dan box bubble-count: vertikal secara default (minimal) masih tampak terlalu besar jika dibandingkan dengan button Facebook Like dan Google Plus ( data-count = 'vertikal'), sehingga untuk contoh button share yang saya gunakan (sebelah kiri main post) memakai default data-count: horizontal.

* Jika Kawan Blogger ada yang tau cara membuat ukuran bubble-count button Tweet lebih kecil (khususnya pada posisi 'vertikal'), mohon berkenan dishare Sob, thanks sebelumnya:)

Baiklah Sob, setelah Anda memahami cara membuat button/tombol share Valid HTML 5 Google Plus, Facebook Like, Twitter. Lihat juga artikel selanjutnya "Cara Buat Floating Button Share valid HTML 5 di Blogger" yang membahas bagaimana penerapannya button/tombol share tersebut di setiap halaman posting blog kita. 

So don't miss it, ok
Read More

error validasi HTML


Kesalahan atau eror markup saat kita cek validasi HTML di W3C Validator adalah hal biasa bagi pengembang, profesional maupun pemula yang menyenangi valid HTML. Error pada markup HTML terjadi karena banyak faktor dan cara mengatasinya (solusi) juga beragam, akan tetapi validasi HTML, XHTML, and CSS saya rasa perlu dilakukan karena beberapa alasan berikut
  • Membantu Search Engine meng-indeks dokumen website/blog lebih baik.
  • Render browser lebih baik dan lebih cepat
  • DOCUMENT OBJECT MODEL (DOM) lebih stabil dan konsisten
  • Future Proof, yang berarti HTML lebih kompatible, backward compatible terhadap browser terbaru.
  • Mengetahui kondisi website/blog lebih detail ( link-link broken, link mati, dst.)
  • Lebih disukai browser-browser dan tentu masih banyak lagi keuntungan lain dari validasi HTML ini.

Satu hal yang perlu kita ketahui juga, ketika memutuskan beralih dari HTML4/XHTML ke HTML5 adalah bagaimana cara validasi HTML 5 bekerja, karena markup validasi HTML5 berbeda dengan web markup versi sebelumnya. Solusi atau memperbaiki Eror Validasi Markup HTML5 juga berbeda, ini mengingat pengenalan beberapa elemen atau fitur baru serta meninggalkan beberapa elemen lama (obsolete atau deprecated HTML tags) pada HTML 5. Dan biasanya pada HTML 5 lebih sedikit eror atau kesalahan markup dibandingkan XHTML yang memang terkenal ketat rule markup-nya.

Oleh karena itu, Problogiz akan membagi tip dan trik Cara Mengatasi Eror-Eror Validasi Markup HTML pada W3C Validator yang paling sering dijumpai. Kumpulan kesalahan atau error validasi markup HTML dibawah ini saya gabungkan baik markup HTML 4, XHTML maupun terbaru HTML 5.

Kumpulan Eror Validasi Markup HTML dan Solusinya

1. & did not start a character reference. (& probably should have been escaped as &amp;. )

Kasus eror ini cukup sering dijumpai, ampersand (&) adalah karakter khusus yang mendefinisikan awal dari sebuah kode karakter dan hampir semua kasus kode harus dibebaskan (escaped) dengan kode &amp;

Contoh kesalahan/eror mungkin terjadi di URL, seperti:
.....http.problogiz.blogspot.com/test.php?name=Riza&code=markup

Solusi penggunaan eror seperti diatas, ampersand (&) harus escaped, menjadi seperti ini:
http.problogiz.blogspot.com/test.php?name=Riza&amp;code=markup

* Jika masih error parse (escaped) lagi kode sampai valid, menjadi seperti ini misalnya:" &amp;amp;"

2. character "&" is the first character of a delimiter but occurred as data

Eror yang sama solusinya dengan diatas :
…(BLOG_attachCsiOnload) != 'undefined'&& BLOG_attachCsiOnload != null) { windo…

Solusi ganti & :
…(BLOG_attachCsiOnload) != 'undefined'&amp;& BLOG_attachCsiOnload != null) {

Contoh kasus lain sering pada kode Javascript :
…tionStart,l=g.responseStart;0<k&&l>=k&&(j[d]("_wtsrt",void 0,k),j[d]("wtsrt_",

Solusi ganti < > dengan &lt;

3. Required attribute "alt" not specified

Ini disebabkan attribute "alt" tidak ada pada sebuah image, image memerlukan attrbt "alt" untuk membantu orang mendapatkan penjelasan tentang gambar yang diwakili. Solusinya Anda harus memberi tag alt=" " pada tag img di halaman Anda.

<img src="url image" alt="penjelasan gambar" />

4. Required attribute "type" not specified

Pesan eror ini kadang muncul pada kode script atau tag link, di HTML 4 atau XHTML
Solusinya simple tambahkan saja tag <script type="text/javascript"> pada kode script :

<script type="text/javascript">.......</script>

Begitu juga pada link stylesheet tag :

<link rel="stylesheet" type="text/css" href="/css/global.css" />

5. Reference not terminated by REFC delimiter

Contoh error yang mungkin pada kode entity :
&c. rubah menjadi &amp;c.
&aelig menjadi &aelig;

Selalu akhiri dengan semi colon (;) pada entity property.

Entity dimaksudkan untuk menuliskan karakter sebagai bagian dari dokumen kode (simbol) bukan sebagai konten.
Contoh :
untuk menampilkan tag "<" (karakter tag pembuka) sebagai simbol maka tulisan seperti ini:
<p>HTML tag dimulai dengan karakter &lt; .</p>
bukan seperti ini:
<p>HTML tag dimulai dengan karakter < .</p>

6. End tag for "img" omitted, but OMITTAG NO was specified

Ini biasanya terjadi karena tidak menutup sebuah tag dengan benar "/>", contoh:

<img src="url image" alt="penjelasan gambar" />

Solusi ini juga berlaku dengan eror-eror berikut:
   End tag for "link" omitted, but OMITTAG NO was specified
Cara yang benar untuk menulis self-closing tag, seperti link, img dan meta, seperti ini:

<link rel="stylesheet" type="text/css" href="/css/global.css" />

   End tag for "a" omitted, but OMITTAG NO was specified
Anda juga diharuskan menutup tag link "a" seperti berikut:

<a href="http://problogiz.blogspot.com">Problogiz</a>

   End tag for "br" omitted, but OMITTAG NO was specified
Kesalahan penulisan line break, seperti :
<br> seharusnya <br/>

7. Document type does not allow element "input" here; missing one of "p", "h1", "h2", "h3", "h4", "h5", "h6", "div", "pre", "address", "fieldset", "ins", "del" start-tag.

Error ini terjadi biasanya pada versi XHTML Strict , elemen form hanya dapat berisi block-level elemen sebagai direct children (sedangkan elemen input adalah elemen inline). Sebuah contoh yang mungkin menyebabkan kesalahan ini sebagai berikut:

<form action="/">
<input type="submit" name="Nama Anda" />
</form>

Seharusnya ditulis seperti ini :
<form action="/">
<fieldset>
<input type="submit" name="Nama Anda" />
</fieldset>
</form>

8. Reference to entity "postid" for which no system identifier could be generated atau Reference to entity "id" for which no system identifier could be generated

Kasus ini umumnya juga disebabkan karena karakter ampersand yang harus dirubah menjadi &amp; (escaped)
Contoh kasus :
<a href="/contact-us.php?name=Riza&postid=7767">Hubungi kami</a>

Seharusnya seperti ini:
<a href="/contact-us.php?name=Riza&amp;postid=7767">Hubungi kami</a>

9. An attribute value specification must be an attribute value literal unless shorttag yes is specified

Ini disebabkan karena attribut value tidak dikurung dengan quotes " ".
Contoh :
<p class=tema> seharusnya seperti ini : <p class="tema">
<img height=50px..…> seharusnya seperti ini : <img height= "50px"..…>

10. Element "div" undefined, Element "td" undefined, Element "br" undefined, Element "iframe" undefined, Element "img" undefined atau Element "embed" undefined

Jika Anda menemui pesan eror-eror validasi seperti diatas, solusinya sama yaitu:
Eror diatas berarti dokumen tidak mengenali eksistensi elemen-elemen diatas, kemungkinan besar disebabkan oleh incorrect atau missing Doctype pada dokumen. Anda harus memastikan DOCTYPE Anda benar. Daftar deklarasi DOCTYPE valid dapat Anda lihat disini : http://www.w3.org/QA/2002/04/valid-dtd-list.html

11. Element "g:plusone" undefined

Eror ini terjadi pada dokumen HTML 5, sintaks yang digunakan pada "g:plusone" sudah tidak valid, jadi Anda dapat menggantinya dengan :

<div class="g-plusone"></div>

12. The frameborder attribute on the iframe element is obsolete. Use css instead

Pada dokumen HTML 5, attribut frameborder telah ditinggalkan dari elemen iframe sebagai gantinya Anda harus menggunakan CSS.

<iframe width="50" height="25" frameBorder="0" ........"></iframe>

Ganti attribut frameborder dengan kode css berikut:
<iframe width="50" height="25" style="border:none;" ........"></iframe>​

13. The scrolling attribute on the iframe element is obsolete. Use CSS instead

Scrolling attribute juga termasuk yang sintaks usang di HTML 5, jadi dengan CSS, seperti diatas:
Contoh:

<iframe src="http://www.map-generator.net/extmap.php?.... width="614" height="244" scrolling="no"></iframe>

Ganti menjadi :
<iframe src="http://www.map-generator.net/extmap.php?.... width="614" height="244" style="overflow:hidden;"></iframe>

14. The align attribute on the td element is obsolete. Use css instead atau The width attribute on the td element is obsolete. Use css instead

Element style"align", "width" pada elemen td adalah usang (obsolete) atau nonstandard HTML tag, jadi pada tes validasi W3C Markup akan menjadi sumber eror/kesalahan markup, untuk mengatasinya Anda dapat menggunakan CSS inline atau CSS terpisah.

Contoh:
<table> <tr> <td align="center">OLA LA</td> </tr> </table>

Atasi dengan CSS terpisah berikut:
.tabletd { text-align:center; }

Penulisan HTML-nya seperti ini:
<table> <tr> <td class="tabletd">OLA LA</td> </tr> </table>

Atau bisa juga dengan inline css (not recomended) :
<table> <tr> <td style="text-align: center;">OLA LA</td> </tr> </table>

15. Reference to entity "widgettype" for which no system identifier could be generated

Kasus eror ini juga disebabkan ampersand yang perlu diparsing seperti contoh eror sebelumnya, contoh eror seperti berikut :

<a href=.................&widgettype=contact">Solution</a>
Ganti & menjadi &amp;

16. & did not start a character reference. (& probably should have been escaped as (letaknya di widget)

Eror ini sering ditemui pada widget, dimana elemen class untuk 'quickedit' bawaan blogger penyebabnya (terjadi pada HTML 5). Secara lengkap contoh kode eror pada widget blogger kurang lebih seperti berikut:

...ID=3863707973515408490&widgetType=HTML&widgetId=HTML1&action=editWidget&sectio…

Source code:
<a class='quickedit' href='//www.blogger.com/rearrange?blogID=3863707973515408490&widgetType=HTML&widgetId=HTML1&action=editWidget&sectionId=sidebar-atas1' onclick='return _WidgetManager._PopupConfig(document.getElementById("HTML1"));' target='configHTML1' title='Edit'>

Kode tersebut tidak ditemukan pada dokumen original template, sehingga ampersand (&) tidak dapat di-escaped/parsing. Untuk mengatasinya dengan cara menghapus tag <b:include name='quickedit'/> dari elemen widget tersebut. Ini tergantung pada berapa banyak widget yang ada, Anda dapat menghapusnya semua tag <b:include name='quickedit'/> di dokumen template Anda. Juga ketika Anda menambah widget baru maka harus kembali menghapus tag <b:include name='quickedit'/> di widget baru itu.

* khusus widget Google Follower tag <b:include name='quickedit'/> tidak dapat dihapus, saya juga belum menemukan solusinya ( bagi Pembaca yang dapat membantu atau punya ide, saya sangat menghargai jika Anda berkenan berbagi pada kami).

Untuk sementara informasi eror validasi dan solusinya sampai disini, namun akan ada update-update baru serta tip mengatasinya yang baru jika saya menemukan hal-hal baru berkaitan dengan validasi HTML. Bagi kawan Blogger yang mempunyai pengalaman mengatasi kesalahan validasi HTML silahkan berbagi di form komentar, tentu saya sangat menghargai dan juga sebagai acuan update artikel ini.

Sebagian contoh kesalahan dan solusi diatas ini saya kutip dari situs -situs forum HTML seperti stackoverflow.com, markupvalidator.com. Sebagian lagi diperoleh dari pengalaman saya pribadi sejak merubah (convert) blog ini ke HTML 5, saat itu saya telah menemukan sekurangnya ada 55 errors dan 7 warnings.
Ok Kawan, semoga tip Cara Mengatasi Eror Validasi HTML ini dapat membantu permasalahan Anda dan dijadikan pedoman solusi bagi Anda.

Update 28 Jan 2013:

17. The font element is obsolete. Use CSS instead.

Tag Font telah ditinggalkan (deprecated) untuk HTML 5 validasi, contoh:

<font size='..'>..........</font>

Solusi:
Gunakan css misalnya:
.kata {font-size:16px; color:balck;}

dan terapkan dengan "span class" :
<span class="kata">...teks Anda...</span>

Anda juga dapat melihat kasus-kasus yang lain error validasi dan solusinya di form komentar dibawah, mungkin bisa membantu.

Update 29 Jan 2013:

18. & did not start a character reference. (& probably should have been escaped as &amp;.)

.…n.css?targetBlogID=2557765903998214405&zx=ae9d02a0-8d17-4917-9ce4-3437c250f8f4…

Ini error yang mungkin sering akan ditemukan pengguna blogspot.com jika Cek Validasi HTML 5, eror ini saya temuka baru saja, sehingga membuat halaman Home Problogiz yang semula Sukses Validasi (0 error) sekarang menyisakan 1 error yang belum terpecahkan solusinya. Ada yang punya solusi, kawan bloggger?

Sebenarnya untuk memperbaiki error diatas cukup sederhana, hanya masalah ampersand (&) yang harus diencoded menjadi &amp;. Namun setelah saya melihat kode sumber eror tersebut, menjadi pesimis, oleh karena kesalahan ini terletak di eksternal link stylesheet dari bloggger sendiri, lengkapnya sumber error validasi itu seperti berikut:

<link type="text/css" rel="stylesheet" href="//www.blogger.com/dyn-css/authorization.css?targetBlogID=2557765903998214405&zx=ae9d02a0-8d17-4917-9ce4-3437c250f8f4"/>

Tidak ada yang bisa dilakukan dengan kesalahan validasi HTML 5, kecuali Blogger team sendiri evaluasi (memperbaiki) ini menuurut saya. Ini kalau ga salah juga terjadi pada kasus kawan Linggar Litoz pada komentarnya di Cara Konvert HTML/XHTML ke HTML 5.

Update 16 Mei 2013:

19. script element between head and body.

Error validasi HTML 5 ini, dikarenakan adanya script element (tag <script>) antara tag </head>: head penutup dan tag <body>: body pembuka. Seperti contoh error dibawah ini:

Line 16, Column 86: script element between head and body
.…avascript" src="/fancybox/source/jquery.fancybox.pack.js?v=2.1.4"> </script>

Solusinya :
Seharusnya elemen script atau tag <script> ditempatkan diantara tag <head>...</head> atau antara <body>.....</body>. Bahkan ada yang menyarankan jika memungkinkan semua script elemen; <script type="text/javascript">...</script> ditempatkan dibagian paling bawah template tepat sebelum tag </body>. Hal ini untuk menghindari pemblokiran render html pada saat dowloading skrip yang juga membuat blog/web lebih respon.

The SCRIPT element places a script within a document. This element may appear any number of times in the HEAD or BODY of an HTML document. (source: w3.org )

20. Cannot recover after last error. Any further errors will be ignored.

Erros tersebut ada beberapa penyebabnya, salah satunya adalah dampak error diatas: script element between head and body, tentu setelah diperbaiki error ini akan ikut hilang.

Line 16, Column 86: Cannot recover after last error. Any further errors will be ignored
.…avascript" src="/fancybox/source/jquery.fancybox.pack.js?v=2.1.4"> </script>

Penyebab lain, dikarenakan adannya tag <script> diluar tag <html>, atau jelasnya ada tag <script>...</script> muncul setelah tag </html> pada dokumen HTML (template). Solusinya tag <script> harus dipindahkan dalam tag <body>....</body>

Mungkin juga ada penyebab lainnya, dan solusinya juga. Untuk sementara saya hanya menemukan ini saja. tentu kawan bisa sharing juga jika mempunyai pengalaman lain.

21. Bad value service.post for attribute rel on element link: Not an absolute IRI. The string service.post is not a registered keyword or absolute URL.

Eror ini penyebabnya adalah Validator tidak mengenali nilai yang digunakan attribut rel, dalam hal ini rel="service.post" atau rel="sitemap". Kesalahan ini biasanya terletak pada link sitemap blog atau atlernatif sitemap link, seperti contoh dibawah kodenya kurang lebih sebagai berikut:

<link rel="service.post" type="application/atom+xml" title="namablog - Atom" href="http://www.blogger.com/feeds/3863707973515408490/posts/default" />

Line 14, Column 154: Bad value service.post for attribute rel on element link: The string service.post is not a registered keyword or absolute URL

.… Atom" href="http://www.blogger.com/feeds/3863707973515408490/posts/default" />

Ada beberapa pendapat mengenai solusi error ini, diantaranya harus register nama link (service.post atau sitemap) tersebut yang akan Anda gunakan di http://microformats.org/wiki/existing-rel-values#HTML5_link_type_extensions. Tentu ini akan memerlukan waktu cukup lama, oleh karenanya sebenarnya ini bukan kesalahan mayor sturktur HTML tidak banyak yang bisa dilakukan.
Tapi sebagai solusinya Anda bisa mencobanya dengan merubah kode rel URL sitemap menjadi seperti berikut:
<link href='http://namablog.blogspot.com/feeds/posts/default' rel='alternate' title='namablog - Atom' type='application/atom+xml'/>
atau
<link href='http://namablog.blogspot.com/feeds/posts/default?alt=rss' rel='alternate' title='namablog - RSS' type='application/rss+xml'/>

Semoga cara ini bisa membantu sob!!, kalau kalian ada cara lain Monggo disharing Sob.

Ok sekian dulu Update Error Validasi HTML , nanti akan ada update-update baru tentunya. Dan jangan lewatkan juga solusi-solusi yang telah kawan-kawan sharing di form komentar ini, mungkin itu yang Anda cari.

Lihat juga Lanjutan 
Kumpulan Eror Validasi HTML dan Solusinya bagian 2 ➲

Read More


proBlogiz

Markup W3C Validator

Tentang Markup W3C Validator 

W3C Markup Validator adalah layanan gratis oleh W3C yang membantu memeriksa keabsahan/kevalidan sebuah Web dokumen (HTML). Pada dasarnya Web dokumen ditulis menggunakan bahasa markup, seperti HTML, HTML 5 atau XHTML. Bahasa-bahasa markup ini ditentukan oleh spesifikasi teknis tertentu, termasuk juga machine-readable formal grammar (tata bahasa agar dapat terbaca dengan benar). Nah,pemeriksaan dokumen terhadap kesalahan atau eror ini disebut validasi, dan adalah fungsi dari Markup Validator.
Jika Anda tertarik untuk memeriksa/cek dokumen HTML blog Anda, ikuti informasi ini mengenai Apa dan Bagaimana Markup W3C Validator Itu?

Kenapa Harus Valid?

Sejak versi aslinya W3C Markup Validator ditulis pertama kali oleh Nick Kew of WebÞing Ltd (pada awalnya untuk kebutuhan validating situs-situs mereka saja), layanan ini telah diperbarui dari waktu ke waktu, terutama berkat banyak penulis web yang berbagi pemikiran mereka sendiri dan motivasi untuk menggunakan Web Quality checking tools.

Mungkin timbul banyak pertanyaan dibenak Anda, kenapa harus susah-susah web dokumen divalidasi? Web site saya baik-baik saja kenapa harus divalidasi lagi? Validasi hanya membuat situs nampak monoton dan kurang menarik?
So, mungkin beberapa jawaban ini dapat sedikit melegakan Anda :

Validasi adalah debugging tool.

Markup yang tepat adalah sangat penting. Hanya karena beberapa markup valid bekerja di versi terbaru dari browser Anda, tidak berarti bahwa itu akan tetap bekerja dalam versi masa depan. Browser cenderung lebih dekat ke HTML standar sedangkan HTML non-standar memiliki kesempatan lebih tinggi gagal.

Validasi juga adalah bukti kualitas dokumen di masa datang. 

Walaupun halaman "menampilkan dengan baik" di beberapa browser kontemporer adalah jaminan yang masuk akal bahwa halaman akan "bekerja" saat ini, tapi itu tidak menjamin bahwa ia akan bekerja besok.

Validasi memudahkan pemeliharaan.

Standar HTML dan CSS sebagai bentuk "gaya pengkodean" yang disepakati secara global adalah hal yang rasional. Membuat halaman web atau aplikasi yang sesuai dengan gaya pengkodean dan diterima secara luas akan membuat lebih mudah untuk maintenance, bahkan jika pemeliharaan dan pengembangan dilakukan oleh orang lain sekalipun.

Validasi mengajarkan praktik yang baik.

Bagi webmaster profesional yang sudah bertahun-tahun berkarya menggunakan HTML dan CSS tentu tahu teknologi ini dengan hati. Bagi pemula ini merupakan wadah perkenalan lebih baik terhadap standard pengkodean dan bahasa markup lebih jauh lagi.

Validasi adalah bukti profesionalisme.

Kenyataannya hanya ada sedikit sekali sertifikasi bagi para web profesional , dan hanya beberapa sekolah/universitas yang mengajarkan teknologi web. Banyak yang mempelajari teknologi web dengan cara otodidak dan mencapai keberhasilan yang beragam. Pengalaman, akan membawa web profesional menciptakan web konten menggunakan semantic dan well-formed markup. Validasi ini kemudian berfungsi sebagai bentuk profesionalisme dari seorang author HTML dengan hasil karyanya yang bersih.

Bagaimana Cara Cek Validasi HTML dengan Markup W3C Validator

Beberapa waktu lalu, saya mencoba check dokumen blog Problogiz (saat itu masih menggunakan dokumen XHTML 1.0 Strict) di situs Markup W3C Validator, setelah meilhat hasilnya.....wah!! errornya sampai 266, warning 14 (wow sambil koprol!!). Saya biarkan eror itu, soalnya saya juga berencana convert ke HTML 5.
Seminggu kemudian setelah konvert, saya mencoba kembali periksa blog ini lagi ternyata eror yang sengaja saya biarkan tadinya telah berkurang menjadi 40-an dan 7 warning. (wow sambil ngesot!!).

Selanjutnya saya mulai memperbaiki kesalahan-kesalahan markup HTML 5 tersebut satu per satu dengan sabar, dan lumayanlah hasilnya berubah menjadi error 0 error dan 3 warning (2 warning disebabkan saya menggunakan eleman baru HTML 5, scoped attribute yang belum support bowser).....seperti dokumentasi dibawah ini:
Klik link ini untuk melihat hasil Validasi site Home Problogiz : http://validator.w3.org/check?uri=http%3A%2F%2Fproblogiz.blogspot.com%2F

* sementara saya hanya dapat menampilkan Hompage saja yang valid, untuk bagian halaman post belum sepenuhnya valid (belum sempat edit error bawaan blogger dan threaded comment)

Problogiz Markup W3C Validator


Note: Jangan ketinggalan update artikel selanjunya Sob, yang membahas Macam-macam eror di Markup W3C Validator serta juga solusi mengatasinya!!

Kembali ke cara kerja Markup W3C Validator, Anda bisa memeriksa dokumen web/blog di W3C Validator secara gratis, kapanpun saja. Kalau Anda belum pernah mencobanya, saya sarankan untuk segera melakukanya untuk kebaikan blog Anda.

Anda diberi 3 opsi mode cek validasi HTML , yaitu:
  • Validate by URI : dengan hanya memasukan Alamat/Url Blog Anda (misal: http://problogiz.blogspot.com/).
  • Validate by File Upload : dengan upload file/dokumen template Anda dari PC, Laptop, device lainnya (biasanya berupa file xml.extensi).
Klik pada link More Options, untuk mengatur dan memilih proses dan hasil validasi.
Character Encoding : biarkan kosong jika ingin deteksi otomatis
Document Type : biarkan kosong jika ingin deteksi otomatis
List Messages Sequentially : daftar laporan hasil secara beurutan
Group Error Messages by Type : pesan kesalahan dikelompokan menurut jenis/type
Show Source : menampilkan sumber seluruh kode
Show Outline : menampilkan line pada pesan kode yang eror
Verbose Output : menampilkan pesan secara rinci
  • Validate by direct input : dengan cari memasukkan/copy pasta seluruh kode template Anda langsung pada form validasi yang disediakan.
Jangan lupa untuk memilih salah satu :
Validate Full Document : untuk deteksi otomatis.
Validate HTML fragment : untuk validasi frgamen HTML (pilih yang sesuai dokumen Anda, HTML 4.01 atau XHTML 1.0)

Setelah selesai memilih salah satu mode diatas Anda bisa langsung klik Tombol Check untuk memeriksa markup HTML Anda.
Markup W3C Validator Service
Khusus HTML 5 markup validasi:
The validator checked your document with an experimental feature: HTML5 Conformance Checker. This feature has been made available for your convenience, but be aware that it may be unreliable, or not perfectly up to date with the latest development of some cutting-edge technologies.
Perlu dicatat bahwa W3C’s HTML5 validation adalah "eksperimental", karena masih tahap progress yang sedang berlangsung, sehingga mungkin akan melihat banyak perubahan selama beberapa tahun kedepan. Juga, kita tidak harus menyebutnya lagi sebagai "validator" lagi; sekarang lebih tepat disebut sebagai "checker kesesuaian".

Good Luck!! Kawan
Jangan lupa saling berbagi pengalaman Anda setelah "CheckMarkup W3C Validator di form komentar ini, OK!

Read More

Konvert HTML/XHTML ke HTML 5


Seperti janji saya di artikel HTML5: Apa Saja Yang Baru ? , akan membahas bagaimana cara konvert HTML atau XHTML template/dokumen ke HTML 5 template, inilah panduan lengkapnya. Seperti telah dijelaskan mengenai HTML 5 sebelumnya, HTML 5 adalah web HTML masa datang (future template), so ada baiknya Anda melihat struktur HTML 5 ini, dan apa saja yang perlu diketahui. Jika Anda sekarang  menggunakan HTML 4.0 atau XHTML 1.0 dan tertarik untuk merubahnya (convert) ke HTML 5, "than you are in the right place".

Panduan berikut ini akan menjelaskan secara detail dan lengkap (saya harap begitu) serta berusaha agar Anda dapat mudah memahaminya dalam penjelasan langkah demi langkah convert Blogger Template menjadi valid HTML 5.

Kenapa Harus HTML 5?

Menurut saya pribadi, dan alasan saya berpaling ke HTML5 tidak lain karena hal menarik berikut:
  • Penggunaan <!DOCTYPE > lebih sederhana/lebih pendek
  • Penggunaan <script> sebagai pengganti <script type="text/javascript">
  • Pemakaian <style> daripada menggunakan <style type="text/css">
  • Pasti lebih sedikit error (Error handling lebih mudah) dalam standard pengkodean HTML dibandingkan XHTML (jika ditest dengan W3C validator).
  • Juga efisiensi beberapa elemen baru seperti header, section dst.

Ada banyak kelebihan HTML 5, lebih baik baca artikel saya selanjutnya tentang " 10 Keuntugan Menggunakan HTML 5"
Lihat HTML5: Apa Saja Yang Baru ? untuk lebih jauh tentang fitur-fitur baru HTML5.

Pada prinsipnya konvert HTML 4 atau XHTML 1,0 ke HTML 5 adalah terpusat pada 3 hal penting, yaitu : pembaruan kode (clean), efisiensi kode dan kode semantik (semantic code):
  • Membuang pengidentifikasian PUBLIC FPI and SYSTEM  PUBLIK dari deklarasi DOCTYPE
  • Ganti tag HTML usang atau tidak dipakai lagi (obsolete or deprecated HTML tags) atau rekonstruksi dengan kode HTML yang sesuai dengan standar HTML 5. 
  • Menerapkan fitur-fitur baru dari HTML 5, seperti mengkonversi dari tag <div> ke tag HTML 5 sectioning.

Langkah Konvert HTML 4 atau XHTML 1,0 menjadi HTML 5

Yang pertama kali Anda harus lakukan sebelum melakukan perubahan besar terhadap dokumen template Anda yang sekarang digunakan, adalah BACK UP!!
Blogger > Template > klik tombol Cadangkan/Pulihkan > Unduh Template Lengkap
Simpan baik-baik (sebagai kenang-kenangan nantinya) di PC Anda

Langkah Pertama: Cleaning up Head Section

Perubahan dalam penggunaan <! DOCTYPE html> Deklarasi pada HTML 5.
Tidak ada DTD dalam HTML 5. Oleh karena itu, tag <DOCTYPE html!> FPI PUBLIK dan identifier SISTEM bisa dihilangkan pada struktur bagian atas HTML5.
Contoh sistem deklarasi dan sistem identifikasi pada HTML 4 dan XHTML 1.0
HTML 4.01
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

XHTML 1.0
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Anda dapat menggantinya semua kode diatas dengan valid ! DOCTYPE untuk  HTML 5 yang lebih pendek, berikut :
HTML5 DOCTYPE
<!DOCTYPE html>

Secara lengkap umumnya HTML versi sebelumnya menggunakan <! DOCTYPE html> seperti dibawah ini, pada HTML 5 Anda hanya perlu menghilangkan/kode yang di beri tanda Strikethrough.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

Sehingga DOCTYPE untuk HTML 5 hanya perlu satu kode deklarasi pendek, seperti ini :
<!DOCTYPE html>


Setelah Anda selesai merubah DOCTYPE, selanjutnya perubahan deklarasi xmlns, atau sering diawali dengan kode <xmlns:>. Karena tidak ada referensi DTD lagi dalam HTML 5, maka tidak diperlukan lagi deklarasi XML eksternal pada struktur dokumen. Anda bisa menghapusnya deklarasi xmlns tersebut dengan aman.
Contoh xmlns (XML Namespace) pada XHTML atau HTML versi sebelumnya kurang lebih seperti berikut :
<html xmlns='http://www.w3.org/1999/xhtml' 
xmlns:b='http://www.google.com/2005/gml/b' 
xmlns:data='http://www.google.com/2005/gml/data' 
xmlns:expr='http://www.google.com/2005/gml/expr'>

Kalau dokumen Anda menggunakan XHTML , kode  tersebut dapat Anda temukan, setelah dibawah kode <! DOCTYPE html>, hapus saja kode-kode yang berwarna merah sehingga hanya ada <html>. Akar dokumen Anda harus "html". Karena tidak ada standar bahasa resmi di HTML5, Anda harus selalu menentukan bahasa eksplisit.
Contoh seperti ini :
<html lang="en">


Pada bagian <head> biasanya memiliki beberapa informasi set karakter (character set), meta data dan link ke stylesheet CSS.  Yang paling atas adalah tag charset atau tag character encoding  , yang Anda lihat sekarang mungkin akan seperti ini:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

So, pada HTML 5 Anda dapat mempersingkatnya menjadi :
<meta charset="utf-8">

Untuk link stylesheet, secara eksplisit mendefinisikan sebagai stylesheet CSS, pada HTML 5 jenis atribut ( type attribut) "type="text/css" dapat dibuang, ini juga berlaku untuk Javascript, tidak perlu memasang type="text/javascript" lagi.

Contoh penulisan link stylesheet di HTML 5 :
<link rel="stylesheet" type="text/css" href="...">
Boleh juga tidak menggunakan attribut type, sehingga menjadi :
<link rel="stylesheet" href="...">

Contoh untuk script :
<script type="text/javascript" src="....js"></script>
Anda boleh menghilangkan attribut type Javascript, menjadi:
<script src=".....js"></script>

Bagian HEAD dokumen HTML5 akan cukup akrab dengan siapa pun terbiasa melihat HTML, so Anda bisa melihat contoh XHTML yang sudah di convert di bagian DOCTYPE ,Head, dst. seperti panduan diatas (dengan penambahan meta tag, title, link stylesheet, script):

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Judul Blog</title> <!-- meta tags --> <meta name="keywords" content=""> <meta name="description" content=""> <!-- stylesheets --> <link rel="stylesheet" href="css/reset.css"> <!-- javascript --> <script src="js/jquery-1.3.2.min.js"></script> <!--conditional comments --> <!--[if IE]> <script src="js/html5.js"></script> <![endif]--> </head>
Untuk lay-out atau CSS Anda bisa menggunakan link "stylesheet" eksternal, seperti diatas, atau juga internal dengan penulisan <style>..code CSS...</style>.

Penambahan <script src="js/html5.js"></script>, ini berfungsi sebagai hack via Javascript untuk IE 8 kebawah. Ini karena browser IE (khsusunya dibawah IE 9) tidak bisa mengenali atau render dari elemen-elemen baru HTML 5 (seperti <header>,<footer>, dan <aside>). Jadi perlu Anda memasang script tersebut, yang secara lengkap Anda juga dapat menulisnya seperti ini :

<!--[if IE]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]-->
Pada akhir langkah ini, Anda telah selesai convert HTML 5 pada bagian <head> atau proses "clean up head section". Satu langkah selesai dan langsung Anda ke langkah berikut ini, yaitu bagian semantik (semantics tag), tahap ini tentang membuat kode  lebih reliable dan aman dengan fitur-fitur baru HTML 5. Jadi, mari kita mengkonversi halaman pertama.

Langkah Kedua : Penerapan Elemen Baru HTML 5

Sekarang kita bisa menggunakan atau menerapkan beberapa tag semantik baru HTML 5, seperti <header>,<section>,<article>, <aside>, <footer>,<nav>, <footer>.
Mari kita mulai dengan <header>.
Ganti
<div id="header"> … </div>
menjadi
<header></header>
Untuk bagian navigasinya :
<div id="nav"> <ul> <li>...</li> </ul> </div>

Gantilah menjadi seperti ini :
<nav> <ul> <li>....</li> </ul> </nav>

Selanjutnya bagian post :
Ganti
<div id="posts"> <div id="post-1" class="post">
menjadi
<section id="posts"> <article id="post-1" class="post">

Mungkin ada perbedaan mengenai tag  di bagian post ini, ada yang menggunakan <div id="main">,dst...tetapi intinya id ini untuk dimana artikel akan berada (letak postingan Anda).
Anda juga bisa merubahnya menjadi seperti ini :
<div id="main"> <article> atau <article id="page-content"> <section>

Tergantung dari layout template Anda, sesuaikan saja dengan yang Anda miliki sekarang. Yang perlu Anda ketahui pada HTML 5, elemen baru seperti tag <section> digunakan sebagai elemen kontainer untuk semua posting dan tag <article> untuk elemen kointainer yang berisi sub-sub post dengan id unik.

Nah, untuk bagian sidebar, Anda sekarang bisa menggunakan tag <aside>, yang mendefisikan konten selain konten halaman bisa itu sidebar atau berisikan footnote.
<div id="sidebar"> .... </div>
Anda bisa merubahnya menjadi seperti ini:
<aside id="sidebar"> ...... </aside>

Dan untuk bagian footer :
<div id="footer"> … </div>
Ganti menjadi seperti ini :
<footer> </footer>

Bingung Sobat? :) kebanyakan kode ya. Jangan kabur dulu.....
Kalau Anda bingung, langsung aja liat contohnya secara lengkap yang telah saya buat ini, berdasarkan langkah-langkah diatas.

Ok, setelah Anda menyelesaikan semua langkah bagaimana meng-konvert HTML atau XHTML Blogger Template menjadi valid HTML 5, maka hasilnya kurang lebih seperti ini (dengan penambahan nama blog,logo, naviagsi,CSS style, dan artikel) :

Contoh HTML 5 Website Standard:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Page Title</title> <!-- meta tags --> <meta name="keywords" content=""> <meta name="description" content=""> <!-- stylesheets --> <style> /* ~~~~~~~~~ layout ~~~~~~~~~~ */ #container {width: 840px;margin: 20px auto;background: #fff;padding: 30px;overflow: hidden;} /* ~~~~~~~~~ header ~~~~~~~~~~ */ #main-navigation {border-bottom: 5px solid #3942A3;margin: 20px 0;} #main-navigation ul {overflow: hidden;width: 100%;list-style: none;font-size: 1.6em;}#main-navigation li {float: left;} #main-navigation li a {background: #3972A3;margin: 0 5px 0 0;padding: 5px 30px;display: block;color: #000000;text-decoration: none;} #main-navigation li.current a {background: #666;} #main-navigation li a:hover {background: #777; } /* ~~~~~~~~~ article ~~~~~~~~~~ */ article {width: 100%;overflow: hidden;} section {float: left;width: 500px;} /* ~~~~~~~~~ aside ~~~~~~~~~~ */ aside {float: right;width: 310px;} /* ~~~~~~~~~ footer ~~~~~~~~~~ */ footer {width: 840px;margin: 20px auto;font-size: 1.4em;text-align: right;} /* ~~~~~~~~~ common ~~~~~~~~~~ */ body, select, input, textarea {font: 0.625em/1.4 tahoma, verdana, arial, helvetica, sans-serif;color: #333;} body {background: #ccc;} h1 {font-weight: normal;color: #666;font: 3.2em/1.4 georgia, 'times new roman', times, serif;margin: 0.2em 0 0;} h2 {font-weight: normal;color: #666;font: 2.4em/1.4 georgia, 'times new roman', times, serif;margin: 0.2em 0; } section p, section ul, section ol, aside p, aside ul, aside ol {font-size: 1.4em;margin: 1em 0;} section ul {margin-left: 1em;} section ol {margin-left: 1.4em;} /* ~~~~~~~~~ generic ~~~~~~~~~~ */ html, body, address, blockquote, div, dl, form, h1, h2, h3, h4, h5, h6, ol, p, pre, table, ul, dd, dt, li, tbody, td, tfoot, th, thead, tr, button, del, ins, map, object, a, abbr, acronym, b, bdo, big, br, cite, code, dfn, em, i, img, kbd, q, samp, small, span,strong, sub, sup, tt, var, legend, fieldset {margin: 0;padding: 0;} img {vertical-align: bottom;} img, fieldset {border: 0;} html {overflow-y: scroll;} header, nav, section, article, figure, aside, footer {display: block;} </style> <!-- javascript --> <script src="js/jquery-1.3.2.min.js"></script> <!--conditional--> <!--[if IE]> <script src="js/html5.js"></script> <![endif]--> </head> <body class="home"> <div id="container"> <header id="page-header"> <div id="logo"><a href="/"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1FrozMxewKWEUdH70WSY-5npscHETiwJlUDheH3RvdSLCe3EX3rfjzXOf7dMBqV8iQ62en2R0rREKZ-gsjXU2YHyq9vmoQSem_bi_-0_Xcyxd6gg7nf1cfd1Xfb_VaaTkXgQeqb6w_F_O/s200/banner.png" alt="HTML5 Standard"></a></div> <nav id="main-navigation"> <ul> <li class="current"><a href="#">Home</a></li> <li style="color: red;"><a href="#">About</a></li> <li><a href="#">Menu</a></li> <li><a href="#">Portfolio</a></li> <li><a href="#">Contact</a></li> </ul> </nav> </header> <article id="page-content"> <section> <hgroup> <h1>Pemahaman HTML5</h1> <h2>Demo HTML5 Template</h2> </hgroup> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus ac iaculis erat. Maecenas id fermentum odio. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.</p> <h2>HTML 5 Item</h2> <ul> <li>Lorem ipsum dolor sit amet</li> <li>Lorem ipsum dolor sit amet</li> <li>Lorem ipsum dolor sit amet</li> </ul> <ol> <li>Lorem ipsum dolor sit amet</li> <li>Lorem ipsum dolor sit amet</li> <li>Lorem ipsum dolor sit amet</li> </ol> </section> <aside> <h2>Artikel Terkait</h2> <p>Aliquam id lorem ac tellus fringilla bibendum et at turpis. In ut auctor justo. Integer ac quam sed est semper hendrerit.</p> </aside> </article> </div> <footer> &copy; Copyright Problogiz 2013 </footer> </body> </html>

Hasil dari dokumen HTML 5 untuk website standar diatas akan seperti gambar dibawah:

HTML 5 untuk website standar

Note :
Penggunaan trailing slash (slash penutup) seperti "<../>" pada HTML 5 tidak harus digunakan, walaupun masih vaild jika Anda memakainya. Tidak seperti dokumen berbasis XHTML, yang lebih tegas (harus memasang slash penutup) yaitu semua tag harus nested properly. Dalam beberapa kasus dokumen online tampaknya masih diperlukan pemasangan trailing slash untuk tag seperti <img>, <link>, <meta>, <br>.
Contoh:
<img src="url_image.png" />

Ketika Anda menambahkan elemen baru HTML5, Anda juga harus menambahkan Styling CSS berikut dalam style sheet Anda untuk membantu browser lama memahami apa yang harus dilakukan dengan unsur-unsur baru tersebut :
Contoh :
article, aside, figure, footer, header, hgroup, menu, nav, section { display:block; }

OK Sob, cukup dulu....semoga ga tambah bingung ya mas bro and sis bro dengan artikel Cara Konvert HTML/XHTML ke HTML 5  :)

Feel free to ask me,ok!

Read More


proBlogiz

Mungkin kata-kata yang paling tepat untuk HTML 5 tidak lain Cantik, Aman, Cepat dan Responsif. HTML 5 adalah versi terbaru dari versi sebelumnya ,HTML, HTML 4.01. HTML5 memperkenalkan banyak fitur-fitur terkini yang memungkinkan pengembang untuk membuat website dan aplikasi dengan fungsional, kecepatan, kinerja, dan pengalaman aplikasi desktop. HTML5 adalah hasil kerjasama antara World Wide Web Consortium (W3C) dan Web Hypertext Application Technology Working Group (WHATWG).
HTML 5 logo

HTML5 adalah versi terbaru dari Hypertext Markup Language, sebenarnya tediri dari tiga jenis kode: HTML, yang membangun struktur, Cascading Style Sheets (CSS), yang memberi sentuhan tampilan, dan JavaScript, yang membuat sesuatu terjadi. HTML5 didesain untuk memberikan hampir semua yang Anda ingin lakukan secara online tanpa memerlukan software tambahan seperti plugin browser. Baik applikasi , game, musik, responsive website dan movie bahkan Anda dapat membangun aplikasi yang sangat rumit bekerja dibrowser Anda dengan HTML 5. Fitur baru seperti video playback dan fungsi drag-and-drop yang sebelumnya tergantung pada pihak ketiga browser plug-in seperti Adobe Flash, Microsoft Silverlight, dan Google Gears.

HTML5 memperkenalkan sejumlah elemen dan atribut baru yang membantu dalam membangun website modern. Berikut ini adalah fitur yang terpenting diperkenalkan pada HTML5 :
  • New Semantic Elements: Ini seperti pada elemen <header>, <footer>, and <section>.
  • Forms 2.0: Perbaikan form web HTML di mana atribut baru telah diperkenalkan tag <input>. 
  • Persistent Local Storage: Untuk menghilangkan ketergantungan pada plugin pihak ketiga.
  • WebSocket: Sebuah generasi teknologi terbaru komunikasi dua arah untuk aplikasi web.
  • Server-Sent Events: memperkenalkan even yang mengalir dari web server ke web browser yang disebut Server-Sent Events (SSE).
  • Canvas: Ini mendukung gambar dua dimensi surface yang dapat diprogram dengan JavaScript.
  • Audio & Video: Anda dapat menanamkan/embed audio atau video pada halaman web Anda tanpa menggunakan plugin pihak ketiga.
  • Geolocation: Pengunjung dapat memilih untuk berbagi lokasi fisik mereka dengan aplikasi web Anda..
  • Microdata: Ini memungkinkan Anda membuat kosakata Anda sendiri di luar HTML5 dan memperluas halaman web Anda dengan kostum semantics.
  • Drag and drop: Drag dan drop item dari satu lokasi ke lokasi lain pada halaman web yang sama.

Jadi Apa Saja Yang Baru di HTML 5?

Sebagai kandidat HTML standard W3C Recomendation, syntax HTML 5 didesain kompatible dengan pendahulunya HTML 4 dan XHTML1 (XML syntax). Berikut beberapa aturan baru dari HTML 5 yang telah dibuat :
  1. Fitur baru harus didasarkan pada HTML, CSS, DOM, dan JavaScript
  2. Mengurangi kebutuhan untuk plugin eksternal (seperti Flash)
  3. Lebih baik dalam hal penanganan kesalahan/error handling
  4. Lebih markup untuk menggantikan scripting

DOCTYPE 

HTML5 memerlukan DOCTYPE yang ditentukan untuk memastikan bahwa browser merender atau membaca halaman situs dalam mode standar. Deklarasi DOCTYPE untuk sintaks HTML dan bersifat case-sensitive, <DOCTYPE html!>. Doctypes dari versi sebelumnya dari HTML lebih panjang karena masih berbasis SGML dan karena itu diperlukan suatu referensi untuk DTD. Dengan HTML5 ini tidak lagi digunakan dan browser hanya memerlukan syntax yang lebih sederhana, <DOCTYPE html!>.

HTML5 DOCTYPE
<!DOCTYPE html>

Vesri HTML sebelumnya DOCTYPE menggunakan rerferensi DTD, seperti contoh ini:
HTML 4.01
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

XHTML 1.0
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

HTML5 Character Sets

Untuk menampilkan halaman HTML dengan benar, browser harus tahu apa Character Sets (charset) yang digunakan. Pada HTML 5 charset Anda dapat menggunakan elemen <meta> dengan atribut charset yang menentukan pengkodean.

Berikut adalah contoh sederhana:
<meta charset="UTF-8">
Contoh di atas dapat menggantikan pemakaian <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> meskipun sintaks tersebut masih diperbolehkan.

Contoh struktur dokumen HTML5 minimum :
<!DOCTYPE html>
<html>
<head>
   <meta charset="utf-8">
   <title>...</title>
</head>
<body>
  <header>...</header>
  <nav>...</nav>
  <article>
    <section>
      ...
    </section>
  </article>
  <aside>...</aside>
  <footer>...</footer>
</body>
</html>

Elemen-elemen Baru di HTML5 :

  • Elemen <canvas> untuk menggambar 2D
  • Elemen <video> dan <audio> untuk media player
  • Support local storage
  • Konten spesifik elemen baru, seperti <article>, <footer>, <header>, <nav>, <section>
  • Kontrol form baru, seperti kalender, tanggal, waktu, email, url, search

Daftar lengkap elemen baru di HTML5
TagDescription
<article>Mendefinisikan sebuah artikel
<aside>Mendefinisikan konten selain dari konten halaman/post
<audio>Mendefinisikan konten audio
<canvas>Digunakan untuk menggambar grafik, on the fly, melalui scripting (JavaScript biasanya)
<command>Mendefinisikan tombol perintah untuk dapat memanggil 
<details>Mendefinisikan rincian tambahan bahwa pengguna dapat melihat atau menyembunyikan
<datalist>Menentukan daftar pilihan standar untuk kontrol input
<embed>Mendefinisikan sebuah wadah untuk aplikasi eksternal (non-HTML)
<header>Mendefinisikan sebuah dokumen atau bagian header 
<figure>Menentukan konten mandiri 
<footer>Mendefinisikan sebuah dokumen atau bagian footer
<hgroup>Groups heading (<h1> to <h6>) elemen
<mark>Mendefinisikan teks yang ditandai / disorot
<output>Mendefinisikan hasil penghitungan
<source>Mendefinisikan beberapa sumber media untuk elemen media (<video> dan <audio>)
<summary>Mendefinisikan sebuah visible heading untuk elemen <details>
<time>Mendefinisikan tanggal / waktu
<video>Mendefinisikan sebuah video atau film
<section>Mendefinisikan bagian dalam dokumen

Daftar lengkap elemen yang tidak dipakai lagi (obsolete) di HTML5, antara lain:
TagDescription
<acronym>Mendefinisikan sebuah akronim
<basefont>Menentukan warna standar, ukuran, dan font untuk semua teks dalam dokumen
<big>Mendefinisikan ukuran teks besar
<center>Mendefinisikan posisi teks dicenter
<dir>Mendefinisikan direktori list
<font>Mendefinisikan font, warna, dan ukuran untuk teks
<frame>Mendefinisikan sebuah window (frame) dalam sebuah frameset
<frameset>Mendefinisikan satu set frame
<strike>Mendefinisikan teks strikethrough
<noframes>Mendefinisikan sebuah konten alternatif bagi pengguna bahwa konten tidak mendukung frame
<applet>Mendefinisikan sebuah applet embed
Juga elemen saperti <blink>, <marquee>, <multicol>, <tt> juga telah ditinggalkan penggunaanya di struktur HTML5.

Selain elemen-elemen diatas ada juga fitur "conforming" pada HTML5, seperti penggunaan attribut pada elemen tertentu.
Attribut baru HTML 5 antara lain:
TagDescription
draggableMenentukan apakah suatu unsur adalah draggable atau tidak
contextmenuMenentukan menu konteks untuk suatu elemen. Menu konteks muncul ketika pengguna mengklik kanan pada elemen
hiddenMenentukan bahwa elemen belum, atau tidak lagi, relevan
spellcheckMendefinisikan posisi teks dicenter
dropzoneMendefinisikan direktori list
contenteditableMendefinisikan font, warna, dan ukuran untuk teks
itempropDigunakan untuk group item 

Pada HTML 5 penulisan atribut hanya dapat ditentukan pada tag awal dan tidak boleh digunakan dalam tag akhir. Atribut HTML5 adalah case sensitif dan dapat juga ditulis dalam huruf besar semua atau mix, akan tetapi konvensi yang paling umum adalah tetap menggunakan huruf kecil.

Berikut adalah contoh penulisan dari atribut HTML5 yang menggambarkan bagaimana untuk menandai sebuah elemen div dengan atribut class dengan menggunakan nilai "contoh":

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

Sebuah fitur baru yang juga diperkenalkan di HTML 5 adalah penambahan atribut data kustom (Custom Attributes).
Sebuah atribut data kustom dimulai dengan data- dan akan diberi nama berdasarkan kebutuhan Anda. Berikut adalah contoh sederhana :

<div class="contoh" data-subject="physics" data-level="complex">
...
</div>

Contoh diatas adalah penulisan attribut yang valid HTML5 dengan dua atribut khusus yang disebut data-subjek dan data-level. Anda akan bisa mendapatkan nilai-nilai dari atribut dengan menggunakan JavaScript API atau CSS dengan cara yang sama seperti yang Anda gunakan untuk atribut standar.

Browser Support

Versi terbaru dari Apple Safari, Google Chrome, Mozilla Firefox, dan Opera semua mendukung hampir semua fitur HTML5 dan Internet Explorer 9.0 juga akan support untuk beberapa fungsi HTML5.
Browser web mobile pre-instal pada iPhone, iPads, dan Android semua support sangat baik untuk HTML5.

Ok kawan, sementara cukup disini sedikit mengenai hal-hal yang baru di HTML 5, tutorial berikutnya saya akan mencoba untuk menjelaskan convert template blogger menjadi valid HTML 5 dan cara membuat website responsive HTML 5, so stay tune ya.......:)

* Untuk referensi lengkap HTML 5, kunjungi : www.w3schools.com

Read More

Google+ Followers

Submit email Anda, dapatkan update artikel:


Like Me

artikel terbaru

|Copyright © 2013| Problogiz |All Rights Reserved|