Perbedaan HTML HTML 2 HTML 3.2 HTML 4 HTML 5 dan HTML 6 - Pemrograman Web
hai saya penulis blogger di artikel ini kami akan menjawab pertanyaan apa itu HTML apa fungsinya dan apa yang digunakan untuk saya akan mulai dengan memberi tahu Anda apa artinya dan kemudian saya akan menunjukkan kepada Anda apa fungsinya dan apa yang digunakan untuk HTML adalah singkatan dari hypertext markup bahasa dan hypertext mengacu pada fakta bahwa HTML membuatnya jadi Anda bisa klik tautan di halaman web yang merupakan hypertext dari kata-kata markup bahasa hanya berarti bahwa itu adalah sesuatu yang Anda gunakan untuk menandai bahasa Inggris normal menunjukkan hal-hal biar saya tunjukkan apa yang saya maksud ini adalah halaman web biasa Blogger dan seluruh halaman menggunakan HTML untuk memberi tahu browser apa yang harus dilakukan dengan semuanya.
Perbedaan
"Perbedaan HTML, HTML 2 , HTML 3.2, HTML 4, HTML 5 dan HTML 6 " menjelaskan perbedaan spesifikasi HTML, HTML 2 , HTML 3.2, HTML 4, HTML 5 dan HTML 6.
1.
Pendahuluan
1.1.
Sejarah HTML
HTML
telah mengalami evolusi berkelanjutan sejak diperkenalkan ke Internet pada awal
1990-an. Beberapa fitur diperkenalkan dalam spesifikasi; yang lainnya
diperkenalkan dalam rilis perangkat lunak. Di beberapa hal, implementasi dan
praktik pengembang web telah bertemu satu sama lain dan dengan spesifikasi dan
standar, tetapi dengan cara lain, keduanya telah menyimpang. HTML4 menjadi
Rekomendasi W3C pada tahun 1997. Meskipun terus berfungsi sebagai panduan kasar
untuk banyak fitur inti HTML, tidak memberikan informasi yang cukup untuk
dibangun implementasi yang saling beroperasi satu sama lain dan, yang lebih penting,
dengan konten Web. Itu hal yang sama berlaku untuk XHTML1, yang mendefinisikan
serialisasi XML untuk HTML4, dan HTML DOM Level 2, yang mendefinisikan API
JavaScript untuk HTML dan XHTML.
Spesifikasi
HTML mencerminkan upaya, dimulai pada tahun 2004, untuk mempelajari HTML
kontemporer
implementasi
dan konten Web. Spesifikasi:
1.
Mendefinisikan satu
bahasa yang disebut HTML yang dapat ditulis dalam sintaks HTML dan XML
2.
sintaksis.
3.
Mendefinisikan model
pemrosesan rinci untuk mendorong implementasi interoperable.
4.
Meningkatkan markup
untuk dokumen.
5.
Memperkenalkan markup
dan API untuk idiom yang muncul, seperti aplikasi Web.
1.2.
Permasalahan
Bagaimana spesifikasi
pada html 5.
2.
Sintaks
HTML
mendefinisikan sintaks, disebut sebagai "sintaks HTML", yang sebagian
besar kompatibel dengan HTML4 dan dokumen XHTML1 yang diterbitkan di Web,
tetapi tidak kompatibel dengan yang lebih esoterik Fitur SGML (mengurangi jumlah karakter yang diperlukan untuk menandai dokumen)
dari HTML4, seperti instruksi pemrosesan dan markup singkatan seperti ini tidak
didukung oleh sebagian besar agen pengguna. Dokumen yang menggunakan sintaks
HTML disajikan dengan
jenis
media teks / html .
2.1.
Pengkodean Karakter
Untuk
sintaks HTML, pengembang web diminta untuk mendeklarasikan pengkodean karakter.
Ada tiga cara untuk melakukannya:
·
Di tingkat
transportasi; misalnya, dengan menggunakan header Jenis Konten HTTP.
· Menggunakan karakter
Unicode Byte Order Mark (BOM) di awal file. Karakter ini memberikan tanda
tangan untuk pengkodean yang digunakan.
· Menggunakan elemen
meta dengan atribut charset yang menentukan pengkodean dalam 1024 pertama byte
dari dokumen; misalnya, <meta charset = "UTF-8"> dapat
digunakan untuk menentukan Pengkodean UTF-8. Ini menggantikan kebutuhan untuk
<meta http-equiv = "Content-Type" content = "text / html;
charset = UTF-8"> meskipun sintaks tersebut masih diperbolehkan.
Untuk
sintaks XML, pengembang Web harus menggunakan aturan yang ditetapkan dalam
spesifikasi XML untuk mengatur pengkodean karakter
2.2.
Doctype
Sintaks
HTML membutuhkan doctype yang akan ditentukan untuk memastikan bahwa browser
merender halaman dalam mode standar. Doctype tidak memiliki tujuan lain.
[DOCTYPE]
Deklarasi
doctype untuk sintaks HTML adalah <! DOCTYPE
html> dan tidak peka huruf besar / kecil. Doctypes dari versi HTML
sebelumnya lebih panjang karena bahasa HTML adalah SGML- berdasarkan dan karena
itu diperlukan referensi ke DTD. Ini tidak lagi menjadi kasus dan doctype-nya hanya
diperlukan untuk mengaktifkan mode standar untuk dokumen yang ditulis
menggunakan sintaks HTML. Browser sudah lakukan ini untuk <! DOCTYPE html>.
Untuk
mendukung pembuat markup lama yang tidak dapat menghasilkan doctype pendek
pilihan, file doctype <! DOCTYPE html SYSTEM
"about: legacy-compat"> diizinkan dalam sintaks HTML.
Jenis dokumen yang ketat untuk HTML 4.0, HTML
4.01, XHTML 1.0 serta XHTML 1.1 juga diperbolehkan (tetapi tidak disarankan)
dalam sintaks HTML.
Dalam
sintaks XML, deklarasi doctype apa pun dapat digunakan, atau mungkin
dihilangkan sama sekali. Dokumen dengan tipe media XML selalu ditangani dalam
mode standar.
2.3.
MathML dan SVG
Sintaks
HTML memungkinkan elemen MathML dan SVG digunakan di dalam dokumen. Sebuah math atau svg tag awal
menyebabkan pengurai HTML beralih ke mode penyisipan khusus yang menempatkan
elemen dan atribut di ruang nama yang sesuai, melakukan perbaikan huruf
besar-kecil untuk elemen dan atribut yang memiliki huruf besar-kecil, dan
mendukung sintaks elemen kosong seperti dalam XML. Sintaksnya masih
case-insensitive dan atributnya memungkinkan sintaks yang sama seperti untuk
elemen HTML. Deklarasi ruang nama dapat dihilangkan. Bagian CDATA didukung
dalam mode penyisipan ini.
Beberapa
MathML dan SVG unsur penyebab parser untuk beralih kembali ke "mode
HTML", misalnya mtext, dan foreignObject, sehingga Anda dapat menggunakan elemen
HTML atau baru math atau svg elemen.
·
⟨ dan
⟩ referensi karakter bernama saat ini
meluas U + 27E8 dan U + 27E9 (matematika kiri / kanan sudut bracket) bukannya U
+ 2329 dan U + 232A (kiri / kanan menunjuk sudut braket), masing-masing.
·
Banyak referensi
karakter bernama baru telah ditambahkan, termasuk semua referensi karakter
bernama dari MathML.
·
Elemen kosong
(dikenal sebagai "KOSONG" di HTML4) diizinkan untuk memiliki garis
miring.
·
Simbol ampersand (&) dapat dibiarkan tidak lolos dalam lebih banyak
kasus dibandingkan dengan HTML4.
·
Atribut harus
dipisahkan oleh setidaknya satu karakter spasi.
·
Atribut dengan nilai
kosong dapat ditulis hanya sebagai nama atribut yang menghilangkan tanda sama
dengan dan nilainya, meskipun atribut tersebut bukan atribut boolean. (Hal ini
umumnya percaya bahwa HTML4 memungkinkan nilai yang akan dihilangkan untuk
atribut boolean. Sebaliknya, HTML4 diperbolehkan hanya menggunakan atribut
nilai dan menghilangkan nama atribut, untuk atribut disebutkan, tapi ini tidak
didukung dalam browser.)
·
Atribut yang
menghilangkan tanda kutip untuk nilai diizinkan untuk menggunakan kumpulan
karakter yang lebih besar dibandingkan dengan HTML4.
·
Pengurai HTML tidak
melakukan normalisasi spasi kosong pada nilai atribut; misalnya, spasi kosong
di depan dan di belakang dalam idatribut tidak diabaikan (dan sekarang tidak
valid), dan karakter baris baru dapat digunakan dalam value atribut input
elemen tanpa menggunakan referensi karakter.
·
optgroup tag
akhir sekarang opsional.
·
colgroup tag
awal sekarang opsional dan disimpulkan oleh parser HTML.
3.
Bahasa
Bagian ini dibagi menjadi beberapa subbagian untuk menggambarkan lebih jelas berbagai perbedaan dari HTML4.
3.1.
Elemen Baru
Elemen-elemen berikut telah diperkenalkan untuk
struktur yang lebih baik:
·
section
mewakili dokumen umum atau bagian aplikasi. Ini harus dapat digunakan bersama-sama dengan h1,
h2,
h3,
h4,
h5,
dan h6unsur-unsur
untuk menunjukkan struktur dokumen.
·
article
mewakili bagian independen dari suatu dokumen, seperti entri blog atau artikel
surat kabar.
·
main
mewakili isi utama dari badan dokumen atau aplikasi.
·
aside
mewakili bagian konten yang hanya sedikit terkait dengan bagian halaman
lainnya.
·
header
mewakili sekelompok pengantar atau alat bantu navigasi.
·
footer
mewakili footer untuk suatu bagian dan dapat berisi informasi tentang penulis,
informasi hak cipta, dll.
·
nav
mewakili bagian dari dokumen yang ditujukan untuk navigasi.
·
figure
mewakili bagian dari konten aliran mandiri, biasanya dirujuk sebagai satu unit
dari aliran utama dokumen.
<figur>
<video src = "example.webm"
kontrol> </video>
<figcaption> Contoh
</figcaption>
</figure>
figcaption
dapat digunakan sebagai caption (opsional).
·
template
dapat digunakan untuk mendeklarasikan fragmen HTML yang dapat dikloning dan
disisipkan ke dalam dokumen dengan skrip.
Lalu ada beberapa elemen baru lainnya:
·
video
dan audio
untuk
konten multimedia. Keduanya menyediakan API sehingga pengembang web aplikasi
dapat membuat skrip antarmuka pengguna mereka sendiri, tetapi ada juga cara
untuk memicu antarmuka pengguna yang disediakan oleh agen pengguna. source
elemen digunakan bersama dengan elemen ini jika ada beberapa aliran tersedia
dari jenis yang berbeda.
·
track
menyediakan trek teks untuk video
elemen tersebut.
· embed
digunakan untuk konten plugin.
· mark
merepresentasikan sekumpulan teks dalam satu dokumen yang ditandai atau disorot
untuk tujuan referensi, karena relevansinya dalam konteks lain.
· progress
mewakili penyelesaian tugas, seperti mengunduh atau saat melakukan serangkaian
operasi yang mahal.
· meter
mewakili suatu pengukuran, seperti penggunaan disk.
· time
mewakili tanggal dan / atau waktu.
· ruby
,,
rt
dan
rp
memungkinkan
untuk menandai anotasi ruby.
· bdi
mewakili rentang teks yang akan diisolasi dari sekitarnya untuk tujuan
pemformatan teks dua arah.
· wbr
mewakili peluang jeda baris.
· canvas
digunakan untuk merender grafik bitmap dinamis dengan cepat, seperti grafik
atau game.
· datalist
bersama dengan list
atribut
baru untuk input
dapat digunakan untuk membuat kotak kombo:
<input list = "browser" >
<datalist id = "browser" >
<option value = "Safari">
<option value = "Internet Explorer">
<option value = "Opera">
<option value = "Firefox">
</datalist>
· keygen
mewakili kontrol untuk pembuatan pasangan kunci.
· output
mewakili beberapa jenis keluaran, seperti dari kalkulasi yang dilakukan melalui
pembuatan skrip.
input
elemen type
atribut kini memiliki nilai-nilai
baru sebagai berikut:
·
tel
·
search
·
url
·
email
·
date
·
time
·
number
·
range
·
color
Ide dari jenis baru ini adalah pengguna dapat
menyediakan antarmuka pengguna, seperti pemilih tanggal kalender atau integrasi
dengan buku alamat pengguna, dan mengirimkan format yang ditentukan ke server.
Ini memberi pengguna pengalaman yang lebih baik karena masukannya diperiksa
sebelum mengirimnya ke server yang berarti ada lebih sedikit waktu untuk
menunggu umpan balik.
3.2. Atribut Baru
Beberapa atribut telah diperkenalkan ke berbagai elemen yang sudah menjadi bagian dari HTML4:
·
area
elemen, untuk konsistensi dengan a
dan link
elemen, kini juga memiliki hreflang
,
type
dan rel
atribut.
·
base
elemen sekarang dapat memiliki target
atribut juga, terutama untuk konsistensi dengan a
elemen. (Ini sudah didukung secara luas.)
·
meta
elemen memiliki charset
atribut sekarang seperti ini sudah banyak didukung dan menyediakan cara yang
bagus untuk menentukan pengkodean
karakter untuk dokumen.
·
autofocus
Atribut baru dapat ditentukan pada input
(kecuali jika type
atributnya adalah hidden
)
select
,,
textarea
dan button
elemen. Ini menyediakan cara deklaratif untuk memfokuskan kontrol
formulir selama pemuatan halaman. Menggunakan fitur ini akan meningkatkan
pengalaman pengguna dibandingkan dengan memfokuskan elemen dengan skrip karena
pengguna dapat mematikannya jika pengguna tidak menyukainya, misalnya.
·
placeholder
Atribut baru dapat ditentukan pada elemen input
dan textarea
.
Ini mewakili petunjuk yang dimaksudkan untuk membantu pengguna dengan entri
data.
<input type = search name = q placeholder = "Enter search phrase ..." > <button> Telusuri </button>
<label> Email <input type = email name = email placeholder = "john@example.com" > </label>
placeholder
atribut tidak boleh digunakan sebagai pengganti untuk label
elemen.
<! - Jangan lakukan ini: ->
<input type = email name = email placeholder = "Email">
·
Baru form
atribut input
,
output
,
select
,
textarea
,
button
,
label
,
object
dan fieldset
elemen memungkinkan untuk kontrol terkait dengan formulir. Elemen
ini sekarang dapat ditempatkan di mana saja pada halaman, tidak hanya sebagai
turunan form
elemen,
dan masih dikaitkan dengan a form
.
<tabel>
<tr>
<th> Key
<th> Nilai
<th> Aksi
<tr>
<td> <form id = 1 > <input name = 1-key> </form>
<td> <input form = 1 name = 1-value>
<td> <button form = 1 name = 1-action value = save> ✓ </button>
<button form = 1 name = 1-action value = delete> ✗ </button>
...
</table>
·
fieldset
elemen sekarang memungkinkan disabled
atribut yang menonaktifkan semua kontrol keturunan (tidak
termasuk orang-orang yang adalah keturunan dari legend
elemen) saat tertentu, dan name
atribut yang dapat digunakan untuk akses naskah.
·
input
elemen memiliki beberapa atribut baru untuk menentukan kendala: autocomplete
,
min
,
max
,
multiple
,
pattern
dan step
.
Seperti disebutkan sebelumnya, ini juga memiliki list
atribut baru yang dapat digunakan bersama dengan datalist
elemen. Ia juga sekarang memiliki atribut width
dan height
untuk menentukan dimensi gambar saat menggunakan type=image
.
·
input
dan textarea
elemen memiliki atribut baru bernama dirname
yang menyebabkan directionality kontrol yang ditetapkan oleh
pengguna untuk diserahkan juga.
·
textarea
elemen juga memiliki tiga atribut baru, maxlength
,
minlength
dan wrap
yang mengendalikan max panjang input dan diserahkan perilaku
garis pembungkus, masing-masing.
·
form
elemen memiliki novalidate
atribut yang dapat digunakan untuk pengiriman formulir validasi disable (yaitu
bentuk selalu dapat disampaikan).
·
input
dan button
elemen memiliki formaction
,
formenctype
,
formmethod
,
formnovalidate
,
dan formtarget
sebagai atribut baru. Jika ada, mereka menimpa action
,
enctype
,
method
,
novalidate
,
dan target
atribut pada form
elemen.
·
input
elemen juga memiliki baru minlength
atribut.
·
script
elemen memiliki atribut baru yang disebut async
bahwa pengaruh pemuatan skrip dan eksekusi.
·
html
elemen memiliki atribut baru yang disebut manifest
yang menunjuk ke cache aplikasi nyata yang digunakan dalam
hubungannya dengan API untuk aplikasi Web secara offline.
·
link
elemen memiliki atribut baru yang disebut sizes
.
Ini dapat digunakan dalam hubungannya dengan icon
hubungan (diatur melalui rel
atribut; dapat digunakan untuk misalnya favicons) untuk menunjukkan ukuran ikon
yang direferensikan, sehingga memungkinkan ikon dengan dimensi yang berbeda.
·
ol
elemen memiliki atribut baru yang disebut reversed
.
Saat ada, ini menunjukkan bahwa urutan daftar menurun.
·
iframe
elemen memiliki atribut baru yang disebut sandbox
dan srcdoc
yang memungkinkan untuk sandboxing konten, misalnya blog komentar.
·
object
elemen memiliki atribut baru yang disebut typemustmatch
yang memungkinkan embedding lebih aman dari sumber eksternal.
·
img
elemen memiliki atribut baru yang disebut crossorigin
menggunakan CORS di mengambil dan jika berhasil, memungkinkan
data gambar untuk dibaca dengan canvas
API.
Beberapa
atribut dari HTML4 sekarang berlaku untuk semua elemen. Ini disebut atribut global
yang: accesskey
,
class
,
dir
,
id
,
lang
,
style
,
tabindex
dan
title
.
Selain itu, XHTML 1.0 hanya diperbolehkan xml:space
pada beberapa elemen, yang sekarang
diperbolehkan pada semua elemen dalam dokumen XHTML.
Ada juga beberapa atribut global baru:
·
contenteditable
atribut
menunjukkan bahwa elemen adalah daerah dapat diedit. Pengguna dapat mengubah
konten elemen dan memanipulasi markup.
·
koleksi Web atribut pengembang yang ditetapkan.
Pengembang web dapat menentukan atribut apa pun yang mereka inginkan selama
mereka memberikan awalan untuk menghindari bentrokan dengan versi HTML
mendatang. Ini dimaksudkan untuk digunakan untuk menyimpan data kustom untuk
digunakan oleh halaman Web atau aplikasi itu sendiri. Mereka tidak
dimaksudkan untuk data yang akan dikonsumsi oleh pihak lain (misalnya agen
pengguna). data-*data-
·
hidden
atribut menunjukkan bahwa elemen belum, atau tidak lagi, relevan.
·
role
dan
atribut koleksi yang dapat digunakan untuk menginstruksikan teknologi bantu. aria-*
·
spellcheck
atribut
memungkinkan untuk mengisyaratkan apakah konten dapat diperiksa untuk ejaan
atau tidak.
·
translate
atribut
memberikan petunjuk untuk penerjemah apakah konten harus diterjemahkan.
HTML juga
membuat semua atribut penangan peristiwa dari HTML4, yang berbentuk , atribut
global, dan menambahkan beberapa atribut penangan peristiwa baru untuk
peristiwa baru yang didefinisikannya; misalnya, atribut event handler untuk
kejadian yang digunakan oleh API untuk elemen media ( dan ). Spesifikasi
memiliki indeks
semua peristiwa .on
event onplayplayvideoaudio
3.3. Elemen yang dirubah
Elemen-elemen ini memiliki arti yang sedikit dimodifikasi dalam HTML untuk lebih mencerminkan bagaimana mereka digunakan di Web atau untuk membuatnya lebih berguna:
· address
elemen sekarang scoped oleh nenek moyang terdekat article
atau body
elemen.
· b
elemen sekarang merupakan rentang teks yang perhatian ditarik
untuk tujuan utilitarian tanpa menyampaikan setiap pentingnya tambahan dan
tanpa implikasi suara alternatif atau suasana hati, seperti kata-kata kunci
dalam abstrak dokumen, nama produk di review, kata ditindaklanjuti dalam
perangkat lunak berbasis teks interaktif, atau buku besar artikel.
· blockquote
elemen masih merupakan konten yang dikutip dari sumber lain tapi
sekarang juga memungkinkan termasuk kutipan dalam footer
atau cite
elemen serta inline perubahan seperti penjelasan dan singkatan.
· dl
elemen sekarang merupakan daftar asosiasi kelompok nama-nilai,
dan tidak lagi dikatakan sesuai untuk dialog.
· hr
elemen sekarang merupakan ayat-tingkat tematik istirahat.
· i
elemen sekarang merupakan rentang teks dengan suara alternatif
atau suasana hati, atau offset dari prosa yang normal dengan cara menunjukkan
kualitas yang berbeda dari teks, seperti sebutan taksonomi, istilah teknis, sebuah
frase idiomatik dari bahasa lain, sebuah pemikiran, atau nama kapal dalam
teks-teks Barat.
· Untuk
label
elemen, browser tidak boleh lagi memindahkan fokus dari label ke
kontrol kecuali perilaku seperti itu standar untuk antarmuka pengguna platform
yang mendasarinya.
· noscript
elemen tidak lagi dikatakan diberikan ketika agen pengguna tidak
mendukung bahasa scripting dipanggil oleh script
elemen sebelumnya dalam dokumen.
· s
elemen sekarang mewakili isi yang tidak lagi akurat atau tidak
lagi relevan.
· script
elemen sekarang dapat digunakan untuk script atau untuk blok data
kustom.
· small
elemen sekarang mewakili komentar samping seperti cetakan kecil.
· strong
elemen sekarang mewakili kepentingan daripada penekanan kuat.
· u
elemen sekarang merupakan rentang teks dengan tidak
diartikulasikan, meskipun secara eksplisit diberikan, penjelasan non-tekstual,
seperti label teks sebagai nama yang tepat dalam teks Cina (Cina mark nama yang
tepat), atau label teks sebagai salah eja.
3.4. Atribut yang dirubah
Beberapa atribut telah berubah dalam berbagai cara.
·
alt
atribut pada img
memiliki persyaratan yang lebih rumit, dan dalam beberapa kasus juga dapat
dihilangkan. Untuk detailnya, lihat spesifikasinya
.
·
accept
atribut pada input
sekarang memungkinkan nilai-nilai audio/*
, video/*
dan image/*
.
·
accesskey
atribut global sekarang memungkinkan beberapa karakter yang akan
ditentukan, yang agen pengguna dapat memilih dari.
·
action
atribut pada form
tidak lagi diizinkan untuk memiliki URL yang kosong.
·
border
atribut pada table
hanya memungkinkan nilai-nilai "1" dan string kosong.
·
colspan
atribut pada td
dan th
sekarang harus lebih besar dari nol.
·
coords
atribut pada area
tidak lagi memungkinkan nilai persentase dari radius ketika
elemen dalam keadaan lingkaran.
·
data
atribut pada object
tidak lagi dikatakan relatif terhadap codebase
atribut.
·
defer
atribut pada script
sekarang secara eksplisit membuat script mengeksekusi ketika
halaman memiliki parsing selesai.
·
dir
atribut global sekarang memungkinkan nilai auto
.
·
enctype
atribut pada form
sekarang mendukung nilai text/plain
.
·
width
dan height
atribut pada img
,
iframe
dan
object
tidak
lagi diperbolehkan mengandung persentase. Mereka juga tidak boleh digunakan
untuk meregangkan gambar ke rasio aspek yang berbeda dari rasio aspek intrinsiknya.
·
href
atribut pada link
tidak lagi diizinkan untuk memiliki URL yang kosong.
·
href
atribut pada base
sekarang diizinkan mengandung URL relatif.
·
Semua atribut yang mengambil URL, misalnya href
pada a
elemen, sekarang mendukung IRI jika pengkodean dokumen adalah
UTF-8 atau UTF-16.
·
http-equiv
atribut pada meta
tidak lagi dikatakan digunakan oleh HTTP server untuk membuat
HTTP header di respon HTTP. Sebaliknya, ini dikatakan sebagai arahan pragma
untuk digunakan oleh agen pengguna.
·
id
atribut global kini diperbolehkan untuk memiliki nilai apapun,
asalkan unik, bukan string kosong, dan tidak mengandung karakter ruang.
·
lang
atribut global mengambil string kosong di samping pengenal bahasa
yang valid, seperti xml:lang
halnya
dalam XML.
·
media
atribut pada link
saat menerima daftar permintaan media dan default untuk
"semua".
·
Atribut event handler (misalnya onclick
)
sekarang selalu menggunakan JavaScript sebagai bahasa skrip.
·
value
atribut dari li
elemen tidak lagi ditinggalkan karena tidak presentasi. Hal yang
sama berlaku untuk atribut start
dan elemen. typeol
·
style
atribut global sekarang selalu menggunakan CSS sebagai bahasa styling.
·
tabindex
atribut global sekarang memungkinkan nilai-nilai negatif yang menunjukkan bahwa
elemen dapat menerima fokus tetapi tidak dapat tab untuk.
·
target
atribut
dari a
dan
area
elemen tidak lagi ditinggalkan, karena berguna dalam aplikasi Web, misalnya
dalam hubungannya dengan iframe
.
·
type
atribut pada script
dan
style
tidak
lagi diperlukan jika bahasa scripting adalah JavaScript dan bahasa styling CSS,
masing-masing.
·
usemap
atribut pada img
tidak lagi membutuhkan URL, melainkan mengambil referensi
hash-nama yang valid untuk map
elemen.
3.5. Elemen Usang
Elemen di bagian ini tidak untuk digunakan oleh
pengembang web. Agen pengguna masih harus mendukung mereka dan berbagai bagian
dalam HTML menjelaskan caranya. Misalnya, isindexelemen usang ditangani oleh bagian parser.
Elemen berikut tidak ada dalam HTML karena efeknya
murni penyajian dan fungsinya ditangani lebih baik oleh CSS:
·
basefont
·
big
·
center
·
font
·
strike
·
tt
Elemen berikut tidak ada dalam HTML karena menggunakannya
merusak kegunaan dan aksesibilitas:
·
frame
·
frameset
·
noframes
Elemen berikut ini tidak disertakan karena tidak
sering digunakan, menimbulkan kebingungan, atau fungsinya dapat ditangani oleh
elemen lain:
·
acronym
tidak disertakan karena telah menimbulkan banyak
kebingungan. Pengembang web digunakan abbr
untuk singkatan.
·
applet
telah usang demi object.
·
isindex penggunaan dapat diganti dengan penggunaan kontrol
formulir.
Akhirnya noscript
elemen tersebut hanya sesuai dalam sintaks HTML. Itu
tidak diperbolehkan dalam sintaks XML. Ini karena untuk tidak hanya
menyembunyikan secara visual tetapi juga mencegah konten menjalankan skrip,
menerapkan lembar gaya, memiliki kontrol formulir yang dapat dikirim, memuat
sumber daya, dan sebagainya, pengurai HTML mengurai konten noscript
elemen sebagai teks biasa. Hal yang sama tidak
dimungkinkan dengan parser XML.
3.6. Atribut Kadaluarsa
Beberapa atribut dari HTML4 tidak lagi diizinkan di HTML. Spesifikasi menentukan bagaimana agen pengguna harus memprosesnya dalam dokumen lama, tetapi pengembang Web tidak diizinkan menggunakannya dan mereka tidak akan memvalidasi.
HTML memiliki saran tentang apa yang dapat Anda gunakan sebagai gantinya.
·
rev
dan charset
atribut
pada link
dan
a
.
·
shape
dan
coords
atribut
pada a
.
·
Longdesc
atribut
pada iframe
.
·
name
atribut
pada img
(gunakan id
sebagai
gantinya).
·
archive
,
classid
,
codebase
,
codetype
,
declare
Dan
standby
atribut pada object
.
·
valuetype
dan type
atribut
pada param
.
·
Abbr
dan
scope
atribut pada td
.
Selain itu, HTML tidak memiliki atribut presentasi yang ada di HTML4 karena fungsinya ditangani dengan lebih baik oleh CSS:
·
align
atribut pada caption
,
iframe
,
img
,
input
,
object
,
legend
,
table
,
hr
,
div
,
h1
,
h2
,
h3
,
h4
,
h5
,
h6
,
p
,
col
,
colgroup
,
tbody
,
td
,
tfoot
,
th
,
thead
dan
tr
.
·
alink
,
link
,
text
Dan
vlink
atribut
pada body
.
·
background
atribut pada body
.
·
bgcolor
atribut pada table
,
tr
,
td
,
th
dan
body
.
·
cellpadding
dan cellspacing
atribut pada table
.
·
char
dan
charoff
atribut pada col
,
colgroup
,
tbody
,
td
,
tfoot
,
th
,
thead
dan tr
.
·
compact
atribut pada dl
,
ol
dan
ul
.
·
frameborder
atribut pada iframe
.
·
height
atribut pada td
dan
th
.
·
hspace
dan vspace
atribut pada img
dan
object
.
·
marginheight
dan marginwidth
atribut pada iframe
.
·
nowrap
atribut pada td
dan
th
.
·
scrolling
atribut pada iframe
.
·
type
atribut
pada li
,
dan ul
.
·
valign
atribut pada col
,
colgroup
,
tbody
,
td
,
tfoot
,
th
,
thead
dan tr
.
·
width
atribut pada hr
,
table
,
td
,
th
,
col
,
colgroup
dan pre
.
Atribut berikut diperbolehkan tetapi pengembang Web tidak dianjurkan untuk menggunakannya dan sebaliknya sangat dianjurkan untuk menggunakan solusi alternatif:
·
The border
atribut pada img
.
Ini harus memiliki nilai " 0
"
saat ada. Pengembang web dapat menggunakan CSS sebagai gantinya.
·
The language
atribut pada script
.
Ini harus memiliki nilai " JavaScript
"
(case-insensitive) jika ada dan tidak boleh bertentangan dengan type
atribut.
Pengembang web dapat mengabaikannya begitu saja karena tidak memiliki fungsi
yang berguna.
·
The name
atribut
pada a
.
Pengembang web dapat menggunakan id
atribut
sebagai gantinya.
Model konten adalah yang menentukan bagaimana elemen dapat disarangkan - apa yang diizinkan sebagai turunan (atau turunan) dari elemen tertentu.
Pada tingkat tinggi, HTML4
memiliki dua kategori utama dari elemen, "inline" (misalnya span
,
img
,
teks), dan "block-level" (misalnya div
,
hr
,
table
). Beberapa elemen tidak sesuai dengan kategori mana pun.
Beberapa elemen mengizinkan
elemen "sebaris" (mis. p
),
Beberapa elemen "tingkat blok" diizinkan (mis. body
),
Beberapa diizinkan keduanya (mis. div
),
Sementara elemen lain tidak mengizinkan salah satu kategori tetapi hanya
diizinkan elemen spesifik lainnya (mis. dl
,
table
),
Atau tidak mengizinkan anak sama sekali (mis link
.
img
,
hr
).
Perhatikan perbedaan antara
elemen itu sendiri yang berada dalam kategori tertentu, dan memiliki model
konten dari kategori tertentu; misalnya, p
elemen
itu sendiri adalah elemen "level blok", tetapi memiliki model konten
"sebaris".
Untuk membuatnya lebih
membingungkan, HTML4 memiliki aturan model konten yang berbeda dalam citarasa
Strict, Transitional dan Frameset; misalnya, di Strict, body
elemen
hanya mengizinkan elemen "level blok", tetapi dalam Transisi, elemen
ini mengizinkan "sebaris" dan "level blok".
Untuk membuat lebih membingungkan lagi, CSS menggunakan istilah "elemen level blok" dan "elemen level sebaris" untuk model pemformatan visualnya, yang terkait dengan properti 'display' CSS dan tidak ada hubungannya dengan aturan model konten HTML.
HTML tidak menggunakan istilah "level blok" atau "sebaris" sebagai bagian dari aturan model kontennya, untuk mengurangi kebingungan dengan CSS. Namun, ia memiliki lebih banyak kategori daripada HTML4, dan sebuah elemen tidak dapat menjadi bagian darinya, salah satunya, atau beberapa di antaranya.
·
Konten metadata, misalnya link
,
script
.
·
Konten aliran, misalnya span
,
div
,
teks. Ini kira-kira seperti "level blok" dan "sebaris"
HTML4 bersama-sama.
·
Sectioning konten, misalnya aside
,
section
.
·
Konten judul, mis h1
.
·
Ungkapan konten, misalnya span
,
img
,
teks. Ini kira-kira seperti "inline" HTML4. Elemen yang menyusun
konten juga merupakan konten aliran.
·
Konten tertanam, misalnya img
,
iframe
,
svg
.
·
Konten interaktif, misalnya a
,
button
,
label
.
Konten interaktif tidak boleh disarangkan.
Sebagai perubahan luas dari
HTML4, HTML tidak lagi memiliki elemen yang hanya menerima apa yang disebut
HTML4 sebagai elemen "level blok"; misalnya, body
elemen
sekarang memungkinkan konten mengalir. Jadi, Ini lebih dekat dengan HTML4
Transitional daripada HTML4 Strict.
Perubahan lebih lanjut meliputi:
·
The address
elemen
sekarang memungkinkan konten aliran, tetapi dengan tidak ada keturunan konten
pos, tidak ada sectioning keturunan konten, dan tidak ada header
,
footer
atau
address
keturunan
elemen.
·
HTML4 diizinkan object
dalam
head
.
HTML tidak.
·
The noscript
unsur
adalah "blok-tingkat" elemen dalam HTML4, tetapi ungkapan konten
dalam HTML.
·
The table
,
thead
,
tbody
,
tfoot
,
tr
,
ol
,
ul
dan
dl
unsur-unsur
yang boleh kosong di HTML.
· Elemen tabel harus sesuai dengan model tabel (misalnya, dua sel tidak boleh tumpang tindih).
·
The table
elemen
sekarang tidak memungkinkan col
elemen
sebagai anak-anak langsung. Namun, pengurai HTML menyiratkan sebuah colgroup
elemen,
jadi perubahan ini seharusnya tidak memengaruhi text/html
konten.
·
The table
elemen sekarang memungkinkan tfoot
elemen
untuk menjadi anak terakhir.
·
The caption
elemen sekarang memungkinkan konten mengalir, tapi tanpa
keturunan table
elemen.
·
The th
elemen
sekarang memungkinkan konten mengalir, tapi tanpa header
,
footer
,
sectioning konten, atau menuju keturunan konten.
·
The a
elemen
sekarang memiliki transparan
model konten (kecuali tidak memungkinkan keturunan konten interaktif), yang
berarti bahwa ia memiliki model konten yang sama seperti induknya. Ini berarti
bahwa a
elemen
tersebut sekarang dapat berisi div
elemen
misalnya , jika induknya mengizinkan aliran konten.
·
The ins
dan
del
elemen
juga memiliki model konten transparan. HTML4 memiliki aturan serupa dalam prosa
yang tidak dapat diekspresikan dalam DTD.
·
The object
elemen
juga memiliki model konten transparan, setelah nya param
anak-anak.
·
The map
elemen
juga memiliki model konten transparan. The area
elemen dianggap ungkapan konten jika ada map
nenek
moyang elemen, yang berarti bahwa mereka tidak perlu anak-anak langsung map
.
·
The fieldset
elemen tidak lagi membutuhkan legend
anak.
4. API
HTML telah memperkenalkan banyak API baru dan telah memperluas, mengubah, atau menghapus beberapa API yang ada.
4.1. API BARU
HTML memperkenalkan sejumlah API yang membantu dalam membuat aplikasi Web. Ini dapat digunakan bersama dengan elemen baru yang diperkenalkan untuk aplikasi:
·
Elemen media ( video
dan
audio
)
memiliki API untuk mengontrol pemutaran, menyinkronkan beberapa elemen media,
dan trek teks berjangka waktu (mis. Subtitle).
·
API untuk validasi batasan formulir (misalnya setCustomValidity()
metode).
· API yang memungkinkan aplikasi Web offline, dengan cache aplikasi .
·
API yang memungkinkan aplikasi Web untuk
mendaftarkan dirinya sendiri ke protokol atau jenis media tertentu, menggunakan
registerProtocolHandler()
dan registerContentHandler()
.
·
Mengedit API dalam kombinasi dengan contenteditable
atribut global baru .
·
API yang mengekspos komponen URL dokumen dan
memungkinkan skrip untuk menavigasi, mengalihkan, dan memuat ulang ( Location
antarmuka).
·
API yang memperlihatkan riwayat sesi dan
memungkinkan skrip untuk memperbarui URL dokumen tanpa benar-benar menavigasi,
sehingga aplikasi tidak perlu menyalahgunakan komponen fragmen untuk navigasi
"Ajax-style" ( History
antarmuka).
·
API untuk konversi base64 ( atob()
dan
btoa()
metode).
·
API untuk menjadwalkan callback berbasis timer (
setTimeout()
dan
setInterval()
).
·
API untuk meminta pengguna ( alert()
,
confirm()
,
prompt()
).
·
API untuk mencetak dokumen ( print()
).
·
API untuk menangani penyedia pencarian ( AddSearchProvider()
dan
IsSearchProviderInstalled()
).
·
The Window
,
Navigator
dan
External
antarmuka telah ditetapkan.
4.2. API yang dirubah
Fitur-fitur berikut dari DOM Level 2 HTML diubah dengan berbagai cara:
·
document.title
sekarang menciutkan ruang kosong saat mendapatkan.
·
document.domain
dibuat dapat diatur, yang dapat mengubah asal skrip efektif dokumen.
·
document.open()
sekarang
membersihkan dokumen (jika dipanggil dengan dua atau kurang argumen), atau
bertindak seperti window.open()
(jika
dipanggil dengan tiga atau empat argumen). Dalam kasus sebelumnya, melempar
pengecualian dalam XML.
·
document.close()
,
document.write()
dan
document.writeln()
melempar
pengecualian dalam XML. Dua yang terakhir sekarang mendukung argumen variadic;
mereka dapat menambahkan teks ke aliran masukan dokumen saat masih diurai,
menyiratkan panggilan ke document.open()
,
atau diabaikan sama sekali dalam beberapa kasus.
·
document.getElementsByName()
sekarang mengembalikan semua elemen HTML dengan name
atribut yang cocok dengan argumen.
·
elements
pada HTMLFormElement
saat
mengembalikan HTMLFormControlsCollection
dari
button
,
fieldset
,
input
,
keygen
,
object
,
output
,
select
dan
textarea
unsur-unsur.
length
mengembalikan
jumlah node dalam elements
.
·
add()
pada
HTMLSelectElement
saat
juga menerima integer sebagai argumen kedua.
·
remove()
pada HTMLSelectElement
sekarang
menghapus elemen pertama dalam koleksi jika argumen di luar batas.
·
a
dan
area
elemen
sekarang dirangkai dengan href
atributnya.
·
Metode click()
,
focus()
dan
blur()
sekarang
tersedia di semua elemen HTML.
4.3. Ekstensi ke Document
DOM Level 2 HTML memiliki HTMLDocument
antarmuka yang diwarisi dari
Document
dan
menyediakan anggota khusus HTML pada dokumen. HTML telah memindahkan anggota
ini ke Document
antarmuka,
dan memperluasnya dengan berbagai cara. Karena semua dokumen menggunakan Document
antarmuka,
anggota khusus HTML sekarang tersedia di semua dokumen, jadi mereka juga dapat
digunakan dalam misalnya dokumen SVG. Ini juga memiliki beberapa anggota baru:
·
location
,
lastModified
dan
readyState
untuk
membantu manajemen metadata sumber daya.
·
dir
,
head
,
embeds
,
plugins
,
scripts
,
Dan nama pengambil generik, untuk mengakses berbagai bagian dari pohon DOM.
·
activeElement
dan
hasFocus
untuk
menentukan elemen mana yang saat ini difokuskan dan apakah Document
masing-masing
memiliki fokus.
·
designMode
,
execCommand()
,
queryCommandEnabled()
,
queryCommandIndeterm()
,
queryCommandState()
,
queryCommandSupported()
,
queryCommandValue()
Untuk
mengedit API.
·
Semua atribut IDL pengendali peristiwa. Juga, onreadystatechange
adalah
atribut IDL pengendali kejadian khusus yang hanya tersedia di Document
.
Skrip yang ada yang
memodifikasi prototipe HTMLDocument
harus terus berfungsi karena window.HTMLDocument
sekarang
mengembalikan Document
objek
antarmuka.
4.4. Ekstensi ke HTML Element
HTML Element
antar muka juga telah memperoleh beberapa ekstensi di HTML:
·
translate
,
hidden
,
tabIndex
,
accessKey
,
contentEditable
,
spellcheck
Dan
style
mencerminkan
atribut konten.
·
dataset
adalah
fitur kemudahan untuk menangani data-*
atribut,
yang diekspos sebagai properti kandang unta; misalnya, elm.dataset.fooBar = 'test'
menyetel data-foo-bar
atribut konten pada elm.
·
click()
,
focus()
dan
blur()
memungkinkan
skrip untuk mensimulasikan klik dan memindahkan fokus.
·
accessKeyLabel
memberikan
tombol pintas yang telah ditetapkan agen pengguna untuk elemen tersebut, yang
dapat dipengaruhi oleh pengembang Web dengan accesskey
atribut
tersebut.
·
isContentEditable
mengembalikan nilai true jika elemen dapat diedit.
· Semua atribut IDL pengendali peristiwa.
Beberapa anggota telah ditentukan
sebelumnya HTMLElement
tetapi
telah dipindahkan ke Element
antarmuka dalam standar DOM: [DOM]
·
id
mencerminkan
id
atribut konten.
·
className
mencerminkan
class
atribut konten.
·
classList
adalah
aksesor yang nyaman untuk className
.
Objek itu kembali memperlihatkan metode ( contains()
,
add()
, remove()
, dan toggle()
) untuk memanipulasi kelas
elemen.
·
getElementsByClassName()
mengembalikan daftar elemen dengan kelas yang ditentukan.
4.5. Ekstensi ke Antar muka Lain
Beberapa antarmuka di DOM Level 2 HTML telah diperpanjang.
·
HTMLOptionsCollection
sekarang
memiliki penelepon warisan, pembuat setter, dan anggota add()
,
remove()
danselectedIndex
·
HTMLLinkElement
dan
HTMLStyleElement
sekarang
mengimplementasikan LinkStyle
antarmuka
dari CSSOM. [CSSOM]
·
HTMLFormElement
sekarang
memiliki getter bernama dan getter terindeks, serta checkValidity()
metodenya
.
·
HTMLSelectElement
sekarang
memiliki getter, item()
dan namedItem()
metode,
pencipta setter, selectedOptions
dan
labels
atribut
IDL, dan anggota untuk bentuk kendala validasi API: willValidate
,
validity
,
validationMessage
,
checkValidity()
,
reportValidity()
,
dan setCustomValidity()
.
·
HTMLOptionElement
sekarang
memiliki konstruktor Option
.
·
HTMLInputElement
kini
memiliki anggota files
,
height
,
indeterminate
,
list
,
valueAsDate
,
valueAsNumber
,
width
,
stepUp()
,
stepDown()
,
bentuk kendala anggota validasi API, labels
dan
anggota untuk bidang teks seleksi API: selectionStart
,
selectionEnd
,
selectionDirection
,
setSelectionRange()
dan setRangeText()
.
·
HTMLTextAreaElement
sekarang
memiliki anggota textLength
,
anggota API validasi batasan formulir, labels
dan
anggota API pemilihan bidang teks.
·
HTMLButtonElement
sekarang
memiliki anggota API validasi batasan formulir dan labels
.
·
HTMLLabelElement
sekarang
memiliki anggota control
.
·
HTMLFieldSetElement
sekarang
memiliki anggota type
,
elements
dan anggota API validasi batasan formulir.
·
HTMLAnchorElement
kini
memiliki anggota relList
,
text
dan
mengimplementasikan URLUtils
antarmuka
yang memiliki anggota href
,
origin
,
protocol
,
username
,
password
,
host
,
hostname
,
port
,
pathname
,
search
,
searchParams
dan
hash
.
HTMLLinkElement
dan
HTMLAreaElement
juga
memiliki relList
atribut
IDL. HTMLAreaElement
juga
mengimplementasikan URLUtils
antarmuka.
·
HTMLImageElement
sekarang
memiliki konstruktor Image
,
dan anggota naturalWidth
,
naturalHeight
dan
complete
.
·
HTMLObjectElement
sekarang
memiliki anggota contentWindow
,
anggota API validasi batasan formulir, dan pemanggil warisan.
·
HTMLMapElement
sekarang
memiliki anggota images
.
·
HTMLTableElement
sekarang
memiliki anggota createTBody()
.
·
HTMLIFrameElement
sekarang
memiliki anggota contentWindow
.
Selain itu, sebagian besar
atribut konten baru juga memiliki atribut IDL yang sesuai pada antarmuka elemen,
misalnya sizesatribut
IDL HTMLLinkElement
yang
mencerminkan sizes
atribut konten.
4.6. API yang Usang
Beberapa API sekarang dihapus
seluruhnya, atau ditandai sebagai usang. Semua atribut IDL yang mencerminkan
atribut konten itu sendiri sudah usang, sekarang juga sudah usang; misalnya, bgColor
atribut
IDL HTMLBodyElement
yang
mencerminkan bgcolor
atribut konten yang sudah usang sekarang sudah usang.
Antarmuka berikut ditandai
usang karena unsur-unsur yang usang: HTMLAppletElement
,
HTMLFrameSetElement
,
HTMLFrameElement
,
HTMLDirectoryElement
dan
HTMLFontElement
.
The HTMLIsIndexElement
antarmuka dihapus sama
sekali sejak parser HTML memperluas sebuah isindex
tag
menjadi elemen-elemen lainnya. The HTMLBaseFontElement
antarmuka
juga dihapus karena elemen tidak berpengaruh.
Anggota HTMLDocument
antarmuka berikut (yang
sekarang telah dipindahkan ke Document
)
sekarang sudah usang: anchors
dan
applets
.
Posting Komentar