W3C home > Mailing lists > Public > public-html@w3.org > September 2009

Re: <details>

From: Toby Inkster <tai@g5n.co.uk>
Date: Tue, 15 Sep 2009 12:30:57 +0100
To: Ian Hickson <ian@hixie.ch>
Cc: Jeremy Keith <jeremy@adactio.com>, Anne van Kesteren <annevk@opera.com>, Simon Pieters <simonp@opera.com>, HTMLWG WG <public-html@w3.org>
Message-Id: <1253014257.7391.93.camel@ophelia2.g5n.co.uk>
On Tue, 2009-09-15 at 11:09 +0000, Ian Hickson wrote:
> Search for "unreliable" in:
>    http://lists.w3.org/Archives/Public/public-html/2009Jul/0685.html

hasFeature was unreliable because the features were too broad. Asking
for a boolean answer to hasFeature('StyleSheets') is clearly not going
to give you a useful answer.

Asking for a boolean answer to implements("elements#details") is a
different matter though. To claim that it's the same thing is a false

Do you really expect that any browsers will be released with *partial
implementations* of the <details> element? Implementations may be buggy,
but they're pretty likely to be complete.

And even in the case where a browser does implement partial support for
<details> - say, it exposes the element's DOM, but don't offer a way of
expanding and contracting the element - then how does the suggested

if (typeof document.createElement('details').open == 'undefined') {
   // script that implements <details> here

improve matters? The meat of the script will not be executed.

Using <script implements> provides us with a neat, consistent and
readable syntax. People seeing the code above would naturally ask
themselves what is being opened. <script implements> is simple and
declarative. People seeing <script implements="element#details"> can
say: oh, OK, this script implements the element <details>.

Given the amount of script out there on the web at large that does
feature detection, <script implements> would be paving a cowpath,
replacing an ad-hoc approach to development with a consistent,
standardised one.

Toby A Inkster
Received on Tuesday, 15 September 2009 11:31:42 UTC

This archive was generated by hypermail 2.3.1 : Thursday, 29 October 2015 10:15:51 UTC