HTML5
events
tags
HTML
Børre Stenseth

Elementer

Hva

Du finner lett en rekke oversikter og kommentarer til alle elementer og attributter i HTML5. Du finner en fin oversikt på HTML-5-tutorial [1] . En enkel listing med noen korte kommentarer finnes på Mozilla Developers Network [2] . Et W3C dokument som beskriver status på HTML5 definisjonen finnes som Editors draft [3]

HTML5 introduserer en rekke nye event, noen er allmene og noen er spesielle for spesielle elementer.

MERK at dette er en dynamisk verden. HTML5 er i stadig endring og beskrivelsen nedenfor er et forsøk på fange et øyeblikksbilde.

Elementet canvas er vel på mange måter den største og på mange måter mest spennende fornyelsen. Canvas-elementet er behandlet i en egen website: canvas.

Elementet svg er også behandlet i en egen website: SVG.

For de som leter etter WebGL og 3D, som jo er en av de mulghetene vi har på canvas, så vil dere finne dette også på en egen site: WebGL.

CSS (Cascading Style Sheets) og JavaScript er også beskrevet på en egne sites: CSS og JS. Det er imidlertid slik at bruk av både CSS og JavaScript nødvendigvis vil inngå i eksempler og forklaringer på disse modulene.

Elementer

Du finner lister med elementer hos flere kilder, f.eks hos Mozilla Developers Network [2]

De elementene som er forsvunnet siden HTML4 er:

<acronym>,<applet>,<basefont>,<big>,<center>,
<font>,<frame>,<frameset>,<noframes>,<strike>,
<tt>,<u>,<xmp>

En ting vi kan merke oss er at frames er ute. Kombinasjonen av AJAX og/eller CSS og Javascript gjør handtering av frames overflødig og unødig komplisert. Merk imidlertid at iframe fortsatt er med.

Vi merker oss videre at vi har fått egne elementer for video og audio. Og vi beholdt object og embed. Det er litt diffust og det er kanskje litt overlap mellom disse. Henter vi forklaring fra Editors draft [3] finner vi følgende:

video
A video element is used for playing videos or movies.
audio
An audio element represents a sound or audio stream.
embed
The embed element represents an integration point for an external (typically non-HTML) application or interactive content.
object
The object element can represent an external resource, which, depending on the type of the resource, will either be treated as an image, as a nested browsing context, or as an external resource to be processed by a plugin.
iframe
The iframe element represents a nested browsing context.

Gruppering

Hos ulike kilder finner vi litt forskjellige måter å gruppere ,litt avhengig av perspektivet. Kilden, Editors draft [3] buker følgende gruppering

The Root Element
<html>
Document Metadata
<head>,<title>,<base>,<link>,<meta>,<style>
Scripting
<script>,<noscript>
Sections
<body>,<section>,<nav>,<article>,<aside>,
<h1>-<h6>,<hgroup>,<header>,<footer>,<address>
Grouping Content
<p>,<hr>,<pre>,<blockquote>,
<ol>,<ul>,<li>,<dl>,<dt>,<dd>,<figure>,
<figcaption>,<div>
Text-level Semantics
<a>,<em>,<strong>,<small>,<s>,
<cite>,<q>,<dfn>,<abbr>,<time>,<code>,<var>,<samp>,
<kdb>,<sub>,<sup>,<i>,<b>,<mark>,<ruby>,<rt>,
<rp>,<bdi>,<bdo>,<span>,<br>,<wbr>
Edits
<ins>,<del>
Embedded content
<img>,<iframe>,<embed>,<object>,
<param>,<video>,<audio>,<source>,<track>,
<canvas>,<map>,<area>
Tabular data
<table>,<caption>,<colgroup>,
	<col>,<tbody>,<thead>,<tfoot>,<tr>,<td>,<th>
Forms
<form>,<fieldset>,<legend>,
<label>,<input>,<button>,<select>,<datalist>,
<optgroup>,<option>,<textarea><keygen>,
<output>,<progress>,<meter>
Interactive elements
<details>,<summary>,<command>,<menu>

Det er selvsagt en rekke regler, her som i tidligere versjoner av HML og XHTML regler for hvilke elementer som kan inneholde hvilke. Noen kjøreregler er gitt av navnene og grupperingen, men alle detaljene finner vi bare dersom vi finleser definisjonen av HTML5 eller prøver og feiler mot en validator.

Mange av disse elementene er beskrevet slik at vi forventer at nettleseren foretar en bestemt aksjon når de leses. Alle elementene i Metadata, Scripting og noen i Forms er slik.

Andre elementer er bltt navngitt ut fra en intensjon om hva de skal brukes til. Utseende og eventuell funksjonalitet er avhengig av stilsett og Javascript. Alle elementene i Sections, Grouping Content, Edits, Text-level Semantics og Tabular data er slik.

Spesielt Sections er en interessant gruppe elementer. De nye elementene section,nav,article,aside,hgroup,header,footer indikerer en bruk som er knyttet til en overordnet dokumentstruktur. Spørsmålet blir da hvilken betydning vil dette ha på måten vi skriver og leser på web? Søking? Skraping?

Attributter

De ulike elementene kan ha litt forskjellige attributter, men det er definert et sett med standard attributter som de fleste skal akseptere.

accesskey,class,contenteditable,
contextmenu,dir,draggable,dropzone,
hidden,id,lang,spellcheck,style,tabindex,title 

Events

Window Event Attributes
Events triggered for the window object.
Applies to the <body> tag:
onafterprint,onbeforeprint,
onbeforeonload,
onblur,onerror,onfocus,
onhaschange,onload,
onmessage,onoffline,
ononline,
onpagehide,onpageshow,
onpopstate,
onredo,onresize,
onstorage,onundo,
onunload
Form Events
Events triggered by actions inside a HTML form.
Applies to all HTML5 elements, but is most common in form elements
onblur,onchange,oncontextmenu,
onfocus,onformchange,onforminput,
oninput,oninvalid,
onselectonsubmit
Keyboard Events
Events triggered by a keyboard.
Applies to all HTML5 elements.
onkeydown,onkeypress,onkeyup
Mouse Events
Events triggered by a mouse, or similar user actions
Applies to all HTML5 elements.
onclick,ondblclick,
ondrag,ondragend,ondragenter,
ondragleave,ondragover,
ondragstart,ondrop,
onmousedown,onmousemove,
onmouseout,onmouseover,
onmouseup,onmousewheel,
onscroll
Media Events
Events triggered by medias like videos, images and audio.
Applies to all HTML5 elements, but is most common in media elements, such as audio, embed, img, object, and video
onabort,oncanplay,
oncanplaythrough,
ondurationchange,
onemptied,onended,
onerror,onloadeddata,
onloadedmetadata,
onloadstart,onpause,
onplay,
onplaying,onprogress,
onratechange,
onreadystatechange,
onseeked,onseeking,
onstalled,onsuspend,
ontimeupdate,
onvolumechange,
onwaiting

console

Hvis du er i tvil om hvilke egneskaper et element har kan du fange det opp som et objeckt i JavaScript , f.eks. slik: var obj=document.getElementById(), og så logge det i console med console.dir(obj).

Jeg bruker stort sett FireFox som utviklings- og testomgivelse, men du finner lignende løsninger i andre nettlesere. Det jeg gjør er å sette opp Tools : Web Developer : Browser Console. Når det er gjort kan jeg skrive til konsollet fra javascriptkoden, se Console hos Mozilla [4] . Vi har mange mulige rapporteringsformer. console.dir( ) gir en dump av alle egeneskapene til et objekt.

Referanser
  1. HTML5 element list HTML-5-tutorial www.html-5-tutorial.com/all-html-tags.htm 02-02-2014
  1. HTML5 element list Mozilla developers Network developer.mozilla.org/en-US/docs/Web/Guide/HTML/HTML5/HTML5_element_list 02-02-2014
  1. HTML5 w3.org dev.w3.org/html5/spec/Overview.html 14-03-2011
  1. Console Mozilla Developers Network developer.mozilla.org/en-US/docs/Web/API/console 25-01-2014