master
smcv 2014-10-05 09:06:20 -04:00 committed by admin
parent c2b2794106
commit cfbbbd65b8
1 changed files with 33 additions and 0 deletions

View File

@ -0,0 +1,33 @@
The `html5` option was added in 2010 and marked as "not experimental" in 2011
but is not the default.
According to <http://caniuse.com/#feat=html5semantic>, current versions of
all recent versions of all major browsers - even IE - support the HTML5
semantic elements (`<section>` etc.), except for `<main>` which IkiWiki
doesn't use anyway. With that being the case, I'm not sure whether we gain
anything from not generating HTML5 (or "HTML" as it's now labelled) all the time.
In particular, non-HTML5 mode uses `<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">`
which doesn't allow newer markup like the `role` attribute, so we can't close
[[todo/add_aria_landmarks_to_make_ikiwiki_websites_more_accessible]] while
remaining XHTML 1.0 Strict. The recommended pseudo-doctype for HTML5, and for
HTML with ARIA markup, is `<!DOCTYPE html>`.
(I do think we should continue to use `<xml-compatible-tags />` and output
well-formed XML so people who want to do XSLT tricks with IkiWiki's output
can do so, though.)
In practice, real browsers have never actually implemented a strict XHTML mode:
they've always parsed `text/html` as "tag soup", because they need a tag-soup
parser anyway, and nobody wants to maintain two parsers.
Options include:
* set html5 to 1 by default but retain the dual-mode templates
* remove the option and always behave as if it had been 1, simplifying
the templates
Thoughts?
--[[smcv]]