2014-04-17 15:45 GMT+02:00 Marius Dumitru Florea <
[email protected]>:

> On Tue, Apr 15, 2014 at 1:09 PM, Guillaume "Louis-Marie" Delhumeau
> <[email protected]> wrote:
> > (There is already a JIRA issue about this topic, see
> > http://jira.xwiki.org/browse/XWIKI-7552 ).
> >
> > The new skin, Flamingo, uses the Bootstrap Framework, which is designed
> to
> > be used with HTML5. For example, the drop down buttons [1] use the
> > attributes "data-*" that was introduced recently and that are not valid
> in
> > XHTML 1.0 Strict. Since HTML5 is becoming the new standard, I think it's
> > time to switch to HTML5, at least for Flamingo.
> >
> > With the help of Thomas, I have already added an HTML5 validator in our
> > build tools, based on validator.nu [2]. In the future, we need to change
> > the enterprise tests suite to use this validator and the flamingo skin.
> >
> > -------------------------
> > What are the blockers ?
> > -------------------------
> >
> > -----
> > Meta tags
> > -----
> >
> > In Colibri headers, we used to define some meta tags used by some
> > javascript components. These tags are:
> > - <meta name="document" content="Main.WebHome"/>
> > - <meta name="wiki" content="xwiki"/>
> > - ... and so on.
> >
> > In my opinion, they are useless, because we also defines some variables:
> > - XWiki.currentWiki = "xwiki";
> > - XWiki.currentSpace = "Main";
> > - XWiki.currentPage = "WebHome";
> > - ... and so on.
> >
> > The problem is: these tags are not valid in HTML5 because the
> specification
> > mentions that custom meta names should be registered on
> > http://wiki.whatwg.org/wiki/MetaExtensions. See
> >
> http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#other-metadata-names
> > .
> >
> > Other problem: if we simply remove them, we will break some javascript
> > codes.
> >
> > -----
> > Internet Explorer meta tag
> > -----
> >
> > Bootstrap defines the following meta-tag:
> > <meta http-equiv="X-UA-Compatible" content="IE=edge">
> >
> > It is used to prevent Internet Explorer from using the compatibility mode
> > (which is the default setting on intranet sites). As before, this meta
> tag
> > is not valid. It is interresting to notice that even the bootstrap site
> is
> > not valid, because of that.
> >
> > In my opinion, we need this meta-tag and we should ignore this HTML5
> > violation.
> >
> > -----
> > Use HTML5 or XHTML5?
> > -----
> >
> > XHTML5 is only a subset of HTML5 so that it is XML compliant. If we want
> to
> > use it, we need to change the MIME type of our pages to
> > "application/xhtml+xml" or "application/xml" [3]. But then, the browser
> is
> > not error-tolerant anymore (I have only tested with Firefox and I hit the
> > issue).
> >
> > -----
> > Update HTMLCleaner
> > -----
> >
> > HTML Cleaner generates this code:
> > <img src="..."></img>
> > which is not valid.
> >
> > ------------------------
> > Proposal
> > ------------------------
> >
>
> > 1. Break the javascript compatibility and remove invalid <meta> tags,
> > except the Internet Explorer specific one.
>
> No. Remove them from the HTML generated on the server *but* add them
> from JavaScript (from compatibility.js for instance) so that
> extensions that still need them continue to work.
>
> We do something similar for instance with the 'rel' attribute which is
> transformed into 'target' on the client.
>

So we generate a valid static code but an invalid dynamic one :) I'm ok
with it. The other option is to ignore these validation errors when it
concern ours meta tags.


>
> > 2. Update the HTML Cleaner.
>
> +1
>
> > 3. Use HTML5 to avoid the XML specific problems. We can change this in
> the
> > future.
>
> Why not generate XHTML5 on the server but with the default HTML5
> doctype (at least for now). I mean, we validate our pages against
> XHTML5 but we tell the browser it's HTML5. I don't see any problem
> with this.
>

OK, let's try this !


>
> > 4. Do not touch the XWiki Rendering code because it generates XHTML,
> which
> > is still valid in HTML5 [4]. Same for the WYSIWYG editor.
>
> +1
>
> > 5. Update the enterprise test suite to also tests pages with the flamingo
> > and the new HTML5 validator.
>
> +1
>
> Thanks,
> Marius
>

Thanks Marius,

Guillaume
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to