Feed URI schema

Steeds vaker kom ik links naar feeds tegen die beginnen met feed://. feed:// is een niet-officieel URI schema. Aangezien mijn geprefereerde feed reader dit URI schema niet herkent moet ik steeds moeite doen om het bruikbare deel uit de link te halen.

Een URI schema is de bovenste laag van een URI. Voorbeelden zijn: ftp: http: news: pop: tel:. Een URI schema is - ondanks vaak verkeerdelijk aangenomen - geen verwijzing naar een protocol. Een goed voorbeeld hiervan is data: mailto:.

Het feed URI schema is in het leven geroepen zodat ingesteld kan worden dat feed readers deze links moeten afhandelen. Een goed idee? Misschien. Beter is het mime-type (bv: application/atom+xml) van de feed aan te passen en feed readers deze te laten afhandelen. Een gebruiker die geen feed reader heeft en op een link klikt van een feed heeft dan nog steeds de kans om de feed te downloaden (en even raar te kijken). Of met wat geluk zal de browser een XML weergave van de feed geven. Dit is nog steeds beter dan de melding: "Het adres type is onbekend of niet ondersteund". Dit laatste is niet van tel voor feed-ondersteunende browsers als Firefox 2 en Internet Explorer 7, maar wel voor Opera 9.

Het is niet de ergste zonde om het feed URI schema te gebruiken vind ik. Dit zeg ik alleen omdat ik verbluft ben van de hoeveelheid URI schema's er in omloop zijn die eigenlijk niet officieel zijn en soms toch algemeen aangenomen zijn. Ik denk bijvoorbeeld aan irc: ssh:. Toch wil ik aanraden de mime-type manier toe te passen.

Gepost: 28 januari 2007 00u34 | 0 reacties


Web Forms 2.0 (preview)

De informatie in dit artikel is mogelijk verouderd.

Om de inhoud van de oprukkende (X)HTML5 specificatie wat duidelijker en praktischer te bekijken een overzichtje van een onderdeel uit het Web Applications 1.0 ontwerp: Web Forms 2.0.

Web Forms 2.0 is een uitbreiding van de huidige HTML 4 Forms ontwikkeld door het WHATWG. De HTML 4 Forms spec dateert ondertussen al van 1998 het werd tijd dat er enkele veel gevraagde wijzigingen werden doorgevoerd. Aangezien het W3C meer bezig was met XHTML 2 en XForms is het WHATWG dan maar zelf begonnen om HTML uit te breiden onder de naam Web Applications 1.0 (tegenwoordig vaak genoemd als (X)HTML5) en Web Forms 2.0. Ondertussen heeft Tim Berners Lee (baas van het W3C) beslist om het werk van de WHATWG verder te zetten.

WF2 heeft niks te maken XForms. XForms is een module die in XHTML 2 zal komen - als die er ooit komt - en anderzijds gebruikt kan worden in eender welke XML applicatie. Het voordeel van WF2 t.o.v. XForms is dat ze backwards compatibel is. Oudere browsers zullen niet ondersteunde controls gewoon als input met type="text" weergeven. Gebruikers invoer zal nog steeds mogelijk zijn weliswaar ongecontroleerd op de client-side (er zijn ook enkele javascript oplossingen, zie onderaan artikel). Je kan trouwens nooit op de client side rekenen voor valide invoer. Je kan dus best altijd op server side (bv: met PHP) checken. XForms zijn op dit vlak beter omdat de specificatie dieper geworteld zit, ook op server kant.

WF2 brengt enkele nieuwe mogelijkheden die het leven van web ontwikkelaars makkelijker zullen maken. Zo zijn er voor de input-tag enkele nieuwe types bijgekomen. Momenteel is er enkel <input type="text" /> mogelijk om gebruikersinvoer in te geven. Dit is een tekstveld waar weinig voorwaarden bij opgelegd kunnen worden. Met Javascript kan je wel maken dat de gebruiker - als hij javascript niet uitgeschakeld heeft - geen verkeerde invoer kan laten doorvoeren.

De nieuwe types voor <input>

datetime
Herbergt een datum en tijd in GMT
datetime-local
Herbergt een datum en tijd in lokale tijdszone.
date
Herbergt een datum.
month
Maand
week
Jaar + weeknummer
time
Tijd
number
Numerieke waardes
range
Net als het type number maar kan voorgesteld worden door een slider.
email
E-mail adresen
url
Herbergt een URi

Alle datums en tijden moeten conform zijn met ISO 8601.

Nieuwe attributen

min, max
Om een range op te leggen zijn deze attributen in het leven geroepen.
step
Stapgrootte bepalen.
pattern
Validatie met reguliere expressie (zoals ze in Javascript werken)
required
Bij validatie moet een veld met dit attribuut ingevuld zijn.
form
Om form controls en fieldsets toe te wijzen aan een form-tag kan het form attribuut gebruikt worden. Je kan een control aan meerdere forms toewijzen met het id van de form(s). (Bekijk het voorbeeld voor meer duidelijkheid)
autocomplete
Verplicht de user agent of browser om de gebruiker zelf het veld in te laten voeren (bv: Blokkeer paswoord managers). Waardes zijn on en off
autofocus
Zet de focus aan de control.
inputmode
Enkel voor tekstvelden. Attribuut is vergenomen van het XForms spec.
list
Je kan een gebruiker laten kiezen uit een lijst. Een lijst maak je met <datalist> (zie verder). Dit lijkt op het een <select> met verschil dat de gebruiker iets kan ingeven wat niet in de lijst staat.
wrap
Attribuut voor <textarea> met waarde soft of hard. Dient om aan te duiden of enters zachte of harde enters zijn.

De attributen accesskey, disabled, maxlength, name, readonly ondergingen enkele wijzigingen.

Nieuwe tags

output
Gedraagt zich als een <span> maar moet gebruikt worden voor feedback op form controls. Het bevat net als <label> het for-attribuut
datalist
Een lijst maak je met <datalist> met een lijst van <option>s. Dit lijkt op het een <select> met verschil dat de gebruiker zelf iets kan ingeven wat niet in de lijst staat. Om een ijst toe te wijzen aan een control moet je aan de control een list-attribuut meegeven met waarde het id van de datalist

Dit is maar een schets van wat er nieuw is en ze is onvolledig. Er zijn meer voorwaarden in het gebruik van de nieuwe attributen en. Er zijn ook wat wijzigingen aan het DOM aangebracht en CSS kreeg o.a. enkele nieuwe selectors. Daarvoor verwijs ik je naar de Web Forms 2.0 specificatie. Tevens kan dit allemaal nog enorm veranderen omdat de spec nog geen final recommendation is. Verwacht wordt dat dit ergens in 2008 wel zo zal zijn en dan moet men nog afwachten tot het voldoende geïmplementeerd is door browser makers

Wordt je net als ik epileptisch bij het zien van veel tekst en heb je meer aan een voorbeeld verwijs ik je graag naar een Web Forms 2.0 demo. Dit werkt enkel in Opera 9 (omdat deze al gedeeltelijke ondersteuning heeft voor WF2) en IE6 (d.m.v. Javascript, wat tevens goed nieuws is omdat Microsoft het misschien toch pas met Sint-Juttemis implementeert).

Gepost: 21 januari 2007 17u46 | 1 reacties


Viewport in de verschillende modi

Het verschil tussen Quirksmode en Standards mode is bij de meesten wel bekend. Een webpagina die in quirksmodus weergegeven wordt krijgt een ander uitzicht dan in standards modus. Tussen de modi switchen wordt gedaan door het DOCTYPE te veranderen of weg te laten. Een verschil tussen text/html en application/xhtml+xml is er blijkbaar ook, vooral als je kijkt naar de viewport. Onder viewport kan je verstaan het deel van de website dat zichtbaar is in je browser.

Zo vroeg ik mij onlangs af waar de scrollbar vandaan komt die tevoorschijn komt als de website te hoog is om in de viewport te passen. De logische gedachte is dat deze van de body-tag zou komen. Dit is dus niet zo, in de meeste gevallen komt de scrollbar van de html-tag en soms van een nog hoger niveau, in termen van de DOM het document object.

Bekijk het experiment op de viewport, enkele van de verschillen heb ik er bij genoteerd.

Elke browser heeft een andere implementatie voor de viewport, soms komt deze overeen met body, html of document. Gelukkig zorgt dit in de praktijk maar zelden problemen, toch vind ik het opmerkelijk dat iedere browsermaker hier weer zijn eigen weg gaat.

Gepost: 7 januari 2007 03u12 | 2 reacties