From bzbarsky at MIT.EDU Sun Feb 1 08:00:14 2009 From: bzbarsky at MIT.EDU (Boris Zbarsky) Date: Sun, 01 Feb 2009 11:00:14 -0500 Subject: [whatwg] Resolving a URL In-Reply-To: References: Message-ID: <4985C70E.6000401@mit.edu> Ian Hickson wrote: > On Sun, 28 Dec 2008, Geoffrey Sneddon wrote: > >> Step 12 replaces \ with /. IIRC WebKit does this for all URLs, not just >> those with a "server-based naming authority" (what's that anyway?). RFC 2396 section 3.2 (Authority Component) says: Many URI schemes include a top hierarchical element for a naming authority, such that the namespace defined by the remainder of the URI is governed by that authority. This authority component is typically defined by an Internet-based server or a scheme-specific registry of naming authorities. So this is talking about URLs whose authority component is defined by an internet server (host + port, in practice). -Boris From lachlan.hunt at lachy.id.au Sun Feb 1 18:26:41 2009 From: lachlan.hunt at lachy.id.au (Lachlan Hunt) Date: Mon, 02 Feb 2009 03:26:41 +0100 Subject: [whatwg] Semi-transparent content models Message-ID: <498659E1.1060906@lachy.id.au> Hi, The spec defines the semi-transparent content model, but this is no longer used for any elements. Please remove this from the spec. http://www.whatwg.org/specs/web-apps/current-work/#transparent-content-models -- Lachlan Hunt - Opera Software http://lachy.id.au/ http://www.opera.com/ From philipp.kempgen at amooma.de Mon Feb 2 16:14:15 2009 From: philipp.kempgen at amooma.de (Philipp Kempgen) Date: Tue, 03 Feb 2009 01:14:15 +0100 Subject: [whatwg] 5.12.3.7 Link type "help" Message-ID: <49878C57.5080605@amooma.de> ---cut--- 5.12.3.7 Link type "help" The help keyword may be used with link, a, and area elements. For link elements, it creates a hyperlink. ---cut--- Shouldn't that read "For *a* elements, it creates a hyperlink."? Philipp Kempgen -- AMOOCON 2009, May 4-5, Rostock / Germany -> http://www.amoocon.de Asterisk: http://the-asterisk-book.com - http://das-asterisk-buch.de AMOOMA GmbH - Bachstr. 126 - 56566 Neuwied -> http://www.amooma.de Gesch?ftsf?hrer: Stefan Wintermeyer, Handelsregister: Neuwied B14998 -- From chris at pearce.org.nz Mon Feb 2 20:06:14 2009 From: chris at pearce.org.nz (Chris Pearce) Date: Tue, 03 Feb 2009 17:06:14 +1300 Subject: [whatwg] Adding and removing media source elements Message-ID: <4987C2B6.2010600@pearce.org.nz> I want to clarify something about 's child element... In the element spec [ http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#the-source-element ] it says: > If a source element is inserted into a media element that is already > in a document and whose networkState is in the NETWORK_EMPTY state, > the user agent must queue a task that implicitly invokes the load() > method on the media element, and ignores any resulting exceptions. So we only trigger a load when adding a child element to a element if the media element is in NETWORK_EMPTY networkState. Additionally, in the spec for 's src attribute [ http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#attr-media-src ] it says: > If the src attribute of a media element that is already in a document > and whose networkState is in the NETWORK_EMPTY state is added, > changed, or removed, the user agent must queue a task that implicitly > invokes the load() method on the media element, and ignores any > resulting exceptions. Almost the same, except that we invoke the load algorithm when the src is removed or changed in this case. I have the following questions: (1) Should removing a media element's child source element while the networkState is NETWORK_EMPTY cause the load() algorithm to be invoked? This would match the behviour of removing the media element's src attribute when networkState is NETWORK_EMPTY. It seems that in order to start a load in an already loaded media element, you must change the src attribute or add source element children to the media element, and then call load() on the media element. Whereas when you initially create the media element, the first time you add the src attribute or add a child source element to the media element, you'll start an asynchronous load immediately. (2) Why don't we invoke load() whenever a media element's src attribute or children are changed, regardless of networkState? That way changes to the media's src/source other than the first change would have the same effect as first change, i.e. they'd have an immediate effect, causing load() to be invoked. Thanks, Chris Pearce. From ian at hixie.ch Mon Feb 2 20:44:07 2009 From: ian at hixie.ch (Ian Hickson) Date: Tue, 3 Feb 2009 04:44:07 +0000 (UTC) Subject: [whatwg] Adding and removing media source elements In-Reply-To: <4987C2B6.2010600@pearce.org.nz> References: <4987C2B6.2010600@pearce.org.nz> Message-ID: On Tue, 3 Feb 2009, Chris Pearce wrote: > > (1) Should removing a media element's child source element while the > networkState is NETWORK_EMPTY cause the load() algorithm to be invoked? > This would match the behviour of removing the media element's src > attribute when networkState is NETWORK_EMPTY. Removing a element from a document can never, as far as I can tell, cause a resource that was previously not being considered to be considered. (Removing a src="" attribute can expose elements that were previously being ignored.) > (2) Why don't we invoke load() whenever a media element's src attribute > or children are changed, regardless of networkState? That way > changes to the media's src/source other than the first change would have > the same effect as first change, i.e. they'd have an immediate effect, > causing load() to be invoked. Doing this would cause the first file to be downloaded multiple times in a row, leading to excessive network usage. -- Ian Hickson U+1047E )\._.,--....,'``. fL http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,. Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.' From philipj at opera.com Tue Feb 3 01:04:01 2009 From: philipj at opera.com (=?iso-8859-15?Q?Philip_J=E4genstedt?=) Date: Tue, 03 Feb 2009 10:04:01 +0100 Subject: [whatwg] Adding and removing media source elements In-Reply-To: References: <4987C2B6.2010600@pearce.org.nz> Message-ID: On Tue, 03 Feb 2009 05:44:07 +0100, Ian Hickson wrote: > On Tue, 3 Feb 2009, Chris Pearce wrote: >> >> (2) Why don't we invoke load() whenever a media element's src attribute >> or children are changed, regardless of networkState? That way >> changes to the media's src/source other than the first change would have >> the same effect as first change, i.e. they'd have an immediate effect, >> causing load() to be invoked. > > Doing this would cause the first file to be downloaded multiple times in > a > row, leading to excessive network usage. > Surely this can't be the only reason? User agents are free to speculatively keep the current source loading when src/source changes and to stop loading it only if the "current media resource" does change. That, and caching, should be enough. I have always imagined that the reason for the conditioned load() is to not interrupt playback by fiddling with the DOM or doing something like v.src=v.src (although I'm quite sure that doesn't count as changing the attribute). However, now I can't convince myself that this makes any sense, since surely if you change src/source you actually do want to change the effective source (and load() is scheduled to run after the current script, so there's no risk of it being run too early). Related, since load() is async it depends on timing whether or not causes the source 'test' to be loaded, as the network state may not be NETWORK_EMPTY when the src attribute is set. The same goes for adding source child elements of course. Yes, this is the same issue as http://lists.w3.org/Archives/Public/public-html/2009Jan/0103.html and would be resolved by calling load() unconditionally. -- Philip J?genstedt Opera Software From scampa.giovanni at gmail.com Tue Feb 3 12:42:33 2009 From: scampa.giovanni at gmail.com (Giovanni Campagna) Date: Tue, 3 Feb 2009 21:42:33 +0100 Subject: [whatwg] 5.12.3.7 Link type "help" In-Reply-To: <49878C57.5080605@amooma.de> References: <49878C57.5080605@amooma.de> Message-ID: <65307430902031242s98dfb69t53e5f448d2e7020e@mail.gmail.com> elements are always hyperlinks, can be hyperlinks or resources. So it only makes sense for the element to be explicitly marked like this. Giovanni 2009/2/3 Philipp Kempgen : > ---cut--- > 5.12.3.7 Link type "help" > The help keyword may be used with link, a, and area elements. > For link elements, it creates a hyperlink. > ---cut--- > > Shouldn't that read "For *a* elements, it creates a hyperlink."? > > > Philipp Kempgen > > -- > AMOOCON 2009, May 4-5, Rostock / Germany -> http://www.amoocon.de > Asterisk: http://the-asterisk-book.com - http://das-asterisk-buch.de > AMOOMA GmbH - Bachstr. 126 - 56566 Neuwied -> http://www.amooma.de > Gesch?ftsf?hrer: Stefan Wintermeyer, Handelsregister: Neuwied B14998 > -- > From alex.baldacchino at email.it Tue Feb 3 15:59:12 2009 From: alex.baldacchino at email.it (Calogero Alex Baldacchino) Date: Wed, 04 Feb 2009 00:59:12 +0100 Subject: [whatwg] Adding and removing media source elements In-Reply-To: References: <4987C2B6.2010600@pearce.org.nz> Message-ID: <4988DA50.10405@email.it> Philip J?genstedt ha scritto: > On Tue, 03 Feb 2009 05:44:07 +0100, Ian Hickson wrote: > >> On Tue, 3 Feb 2009, Chris Pearce wrote: >>> >>> (2) Why don't we invoke load() whenever a media element's src attribute >>> or children are changed, regardless of networkState? That way >>> changes to the media's src/source other than the first change would >>> have >>> the same effect as first change, i.e. they'd have an immediate effect, >>> causing load() to be invoked. >> >> Doing this would cause the first file to be downloaded multiple times >> in a >> row, leading to excessive network usage. >> > > Surely this can't be the only reason? User agents are free to > speculatively keep the current source loading when src/source changes > and to stop loading it only if the "current media resource" does > change. That, and caching, should be enough. > > I have always imagined that the reason for the conditioned load() is > to not interrupt playback by fiddling with the DOM or doing something > like *v.src=v.src* (although I'm quite sure that doesn't count as > changing the attribute). However, now I can't convince myself that > this makes any sense, since surely if you change src/source you > actually do want to change the effective source (and load() is > scheduled to run after the current script, so there's no risk of it > being run too early). Doing the same with a script element can cause the script to be re-fetched and re-executed on some browsers, so I think there is a concrete chance to find the same behaviour for videos, and the spec have to say when the load is allowed (or, at least, when it should not happen). I'm not sure that every changes to the effective source should take place, for instance, changing it (through the dom) after playback has already started might not be very usable and should be avoided, therefore, any such attempt should be ignored/aborted (eventually with an exception) after playback start and until its end or an explicit stop (by the user or by a script, so to encourage programmers to check the state of the playback before taking any action). Also, scheduling the load "after the current script" could not solve the whole problem: any changes to the video may happen through an event handler, therefore by different scripts, thus I think that it could be helpful to allow a script to freeze (or revert) ongoing operations (as well as the video interface) but playback (if yet started), so to (try and) ensure (somehow) that any dynamic changes can be performed without bothering the user, or are disallowed otherwise. (what for? I'm considering the (maybe edge) case of a dynamic update of a video source, for instance when a different/better source (higher quality or with a more appropriate translation) is available, or for any other reason (e.g. the complete list of available sources might be streamed as a sequence of remote events for an immediate update and a deferred/repeated playback), but if the current source is being played it might not make sense to stop it and change it with a different one, eventually restarting from the beginning, because it may be annoying for users). > > Related, since load() is async it depends on timing whether or not > > > > > causes the source 'test' to be loaded, as the network state may not be > NETWORK_EMPTY when the src attribute is set. The same goes for adding > source child elements of course. Yes, this is the same issue as > http://lists.w3.org/Archives/Public/public-html/2009Jan/0103.html and > would be resolved by calling load() unconditionally. > Or checking the network state to choose if it's the case to call load() explicitely; however, due to its asynchronous nature, that might cause a double invocation (depending on implementations), or similar problems. Perhaps, the load() method should leave the network state unchanged (NETWORK_EMPTY in this case) or revert it to a previous value whenever the method fails to choose a candidate (e.g. because there is no valid/new source, a yet chosen source is being played and cannot be changed before it's stopped, and so on), and successive changes could be scheduled for an evaluation as soon as possible (e.g. as soon as the network state returns to be NETWORK_EMPTY, or becomes NETWORK_LOADED and/or the playback ended or has been stopped - if appropriate in this case), possibly being collapsed into a single task. This way, a load evaluation preceeding the script execution, in your example, would fail and revert the network state to be empty, triggering a new invocation after the script has been executed; an evaluation following the script would work as expected; an evaluation invoked while the script is executing would cause the new v.src value to be scheduled for a later check, (the overall mechanism would result in an unconditioned scheduling of conditioned load() invocations, collapsed into one single entry until a call to .load() is made, which I think should be more performant than calling load() unconditionally - but I'm not sure, it may depend on both the scheduler and the load method implementations). Source elements might require a different treatment from the "src" attribute. For instance, adding such an element while a list of candidates is being generated or before entering the Candidate Loop could cause the list to be re-checked, otherwise a delayed load is scheduled (but this could add unneeded complexity, thus just scheduling the change for a later evaluation could be enough). WBR, Alex -- Caselle da 1GB, trasmetti allegati fino a 3GB e in piu' IMAP, POP3 e SMTP autenticato? GRATIS solo con Email.it http://www.email.it/f Sponsor: Blu American Express: gratuita a vita! Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=8613&d=4-2 From alex.baldacchino at email.it Tue Feb 3 19:15:42 2009 From: alex.baldacchino at email.it (Calogero Alex Baldacchino) Date: Wed, 04 Feb 2009 04:15:42 +0100 Subject: [whatwg] Trying to work out the problems solved by RDFa In-Reply-To: <496BC0B6.2060906@googlemail.com> References: <061D9684-D7A9-48F0-A042-F71AEEE865C9@tobyinkster.co.uk> <41E096C93F384F9BA6B0A09A87EF8E97@POCZTOWIEC> <48B5D840.5000704@digitalbazaar.com> <495F97A9.1080602@email.it> <4966AE40.3040600@email.it> <2E944B0D-0AB0-4099-8CA4-5F55ABA52E67@geekhood.net> <49695EA4.1060302@email.it> <4969BED3.9010401@googlemail.com> <496A23D8.9090901@email.it> <496A28D6.90104@googlemail.com> <496BA788.1030206@email.it> <496BC0B6.2060906@googlemail.com> Message-ID: <4989085E.5040709@email.it> Benjamin Hawkes-Lewis ha scritto: > On 12/1/09 20:26, Calogero Alex Baldacchino wrote: >> I just mean that, as far as I know, there is no official standard >> requiring UAs to support (parse and expose through the DOM) attributes >> and elements which are not part of the HTML language but are found in >> text/html documents. > > Perhaps, but then prior to HTML5, much of what practical user agents > must do with HTML has not been required by any official standard. ;) > > RFC 2854 does say that "Due to the long and distributed development of > HTML, current practice on the Internet includes a wide variety of HTML > variants. Implementors of text/html interpreters must be prepared to > be 'bug-compatible' with popular browsers in order to work with many > HTML documents available the Internet." > > http://tools.ietf.org/html/rfc2854 > > HTML 4.01 does recommend that "[i]f a user agent encounters an element > it does not recognize, it should try to render the element's content" > and "[i]f a user agent encounters an attribute it does not recognize, > it should ignore the entire attribute specification (i.e., the > attribute and its value)". > > http://www.w3.org/TR/html401/appendix/notes.html#h-B.3.2 > > Clearly these suggestions are incompatible with respect to attributes; > AFAIK all popular UAs insert unrecognized attributes into the DOM and > plenty of web content depends on that behaviour. > Very, very true. HTML 4.01 also says the recommended behaviours are ment "to facilitate experimentation and interoperability between implementations of various versions of HTML", whereas the "specification does not define how conforming user agents handle general error conditions, including how user agents behave when they encounter elements, attributes, attribute values, or entities not specified in this document", and since "user agents may vary in how they handle error conditions, authors and users must not rely on specific error recovery behavior". I just think the last sentence defines a best practice everyone should follow instead of relying on a common quirk supporting invalid markup. However, beside something being a good or bad practice, there will always be authors doing whatever they please, therefore it is quite safe to assume UAs will always expose invalid/unrecognized attributes (that's unavoidable, given the need for backward compatibility). > > Just like proprietary elements/attributes introduced with user agent > behaviours (marquee, autocomplete, canvas), scripted uses of "data-*" > might suggest new features to be added to HTML, which would then > become requirements for UAs. > > But unlike proprietary elements/attributes introduced with user agent > behaviors, scripted uses of "data-*" do not impose new processing > requirements on UAs. > > Therefore, unlike proprietary elements/attributes introduced with user > agent behaviors, scripted uses of "data-*" impose _no_ design > constraints on new features. > > Establishing user agent behaviours with "data-*" attributes, on the > other hand, imposes almost as many design constraints as establishing > them with proprietary elements and attributes. (There's just less > pollution of the primary HTML "namespace".) > > If no RDFa was in deployment, you could argue it would be less wrong > (from this perspective) to abuse "data-*" than introduce new attributes. Oh, well, I don't want to argue about that. For me the idea to use "data-rdfa-*" can rest in peace, since in practice it's not different from using RDFa attributes as they are, at least as far as they're handled by scripts, either client- or server-side. However I think that, * actually it seems not to be enough clear what UAs not involved in a particular project should do with RDFa attributes, beside exposing their content for the purpose of a script elaboration, whereas a precise behaviour should be defined, as well as an eventual class of UAs clearly identified as not required to support it, and eventual caveats on possible problems and relative solutions, before introducing any new elements/attributes in a formal specification; * actual deployment might be harmed by the use of xml namespaces in html serialization. Also, I see design suggestions more than impositions. If a new (and proprietary/private) attribute/element/convention is convincingly useful/needed, it is supported by other UAs and introduced in a specification, otherwise, if a not enough significant number of pages would be broken, it might even be redefined for use with a different semantics. And a possible process involving data-* attributes would/could be experiment privately => extend the scale involving other people finding it useful for their needs => get it in the primary namespace of an official specification (discarding the "data-" part and any other useless parts of the experimental name), so that existing pages may still work with their custom scripts or easily migrate to the new standard (and benefit of the new default support) by running a simple regex. > > But to the extent that these attributes are already in use in > text/html and standardized within the "http://www.w3.org/1999/xhtml" > namespace, processing requirements are effectively already being > imposed on user agents (such as not introducing conflicting treatment > of the "about" attribute). All that adding user agent behaviours with > "data-rdfa*" attributes would do at this point is add _more_ > requirements, without rescuing the polluted attributes. > For what concerns html serialization, introducing xml namespaces (and, thus, xml extensibility - as a whole or partly) might be worse than breaking current experimentaions. Since xhtml about all W3C production has converged towards XML, suggesting a direction the web didn't embraced completely, and instead causing objections with respect to xml features felt as useless or unwanted by a good number of people, herein namespaces and extensibility, hence the need to evolve html serialization to address new demands without forcing a migration towards xml. Therefore, introducing pieces of xml inside text/html documents may be problematic; of course, other surrogate mechanisms might be defined to indicate a namespace for the sole purposes of RDFa, but this would rise consitence issues between html and xhtml (as reported by Henri Sivonen), perhaps solvable by specifing a double mechanism as working for xhtml (the html specific one, and the "classic" xml one), but such a choice might add complexity to UAs and be confusing for authors. For what concerns XHTML, I disagree with the introduction of RDFa attribute into the basic namespace, and I wouldn't encourage the same in HTML5 spec. In first place, I think there is a possible conflict with respect to the "content" attribute semantics, because it now requires a different processing when used as an RDFa attribute and as a attribute associated to an "http-equiv" or a "name" value (for instance). In second place, it might be confusing for authors and lead to the misconception that every xhtml 1.x processor is also capable to process rdfa metadata (this is a limit of namespace + dtd/schema based modularization, because one can define the structure of a document, but not "orthogonal" behaviours requiring a specific support, not covered by the basic document model - such as collecting rdf triples declared by rdfa attributes, or calling a plugin and embedding its output - however, defining a proper namespace, maybe including its creation date somehow, may suggest what to expect from UAs). In third place, creating a different namespace would have resulted in a far easier introduction of RDFa attributes into other xml languages without having to change the language to host them (by the way, the xhtml namespace and a related prefix can be used, but this require a more specific support due to the "content" attribute issue, especially by UAs not supporting DTDs or schemata - that is, what should happen if an element were declared with both xhtml:name or xhtml:http-equiv, xhtml:content and xhtml:datatype, in an xml document accepting any attributes from external namespaces? of course, this is solvable, but rdfa:content, rdfa:datatype and so on would make things easier, or at least _cleaner_ and less confusing for authors having to understand that an XML and RDF processor can/must support the xhtml namespace and its _whole_ semantics, not just dom-related structures, but limited to RDFa attributes, so that no or or can be used hoping their semantics is supported, despite the support for the xhtml namespace...). Also there might have been fewer attributes, each one with a different semantic (assuming someone might not find useful to have a link with rel="stylesheet" representing a triple, for instance). Of course, this is my opinion. > > I also guess that, >> if microformats experience (or the "realworld semantics" they claim to >> be based on) had suggested the need to add a new element/attribute to >> the language, a new element/attribute would have been added. > > I'm not really sure what you mean. > > (It's watching the microformats community struggle with the problem of > encoding machine data equivalents, for things like dates and telephone > number types and measurements, that persuaded me HTML5 should include > a generic machine data attribute, because it seems likely to me that > the problem will be recurrent.) > > -- > Benjamin Hawkes-Lewis If there were a general agreement, a new element/attribute would be introduced as a result of a "bottom up" process (starting from experimentations) integrated with a "top down" community evaluation - for specific purposes, not generic machine exposure, I mean. (I'm not sure a generic machine data attribute - in general, not just referring to rdfa - would solve that, because each new occurrence of the problem might require a "brand new" datatype that only newer, updated UAs would understand (older ones would just parse the attribute and provide it as a string for further elaboration by a script, at most, but this might not be much better than using a data-* attribute for private script consumption), therefore, that wouldn't be necessarily different than creating a new appropriate attribute/element as needed and providing such new feature in newer, compliant UAs). WBR, Alex -- Caselle da 1GB, trasmetti allegati fino a 3GB e in piu' IMAP, POP3 e SMTP autenticato? GRATIS solo con Email.it http://www.email.it/f Sponsor: Blu American Express: gratuita a vita! Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=8613&d=4-2 From alex.baldacchino at email.it Tue Feb 3 19:16:05 2009 From: alex.baldacchino at email.it (Calogero Alex Baldacchino) Date: Wed, 04 Feb 2009 04:16:05 +0100 Subject: [whatwg] Trying to work out the problems solved by RDFa In-Reply-To: References: Message-ID: <49890875.9090407@email.it> Toby A Inkster ha scritto: > > Another reason the Microformat experience suggests new attributes are > needed for semantics is the overloading of an attribute (class) > previously mainly used for private convention so that it is now used > for public consumption. Maybe this is true, but, personally, I prefere this approach to the addition of new features/attributes/elements to an official specification without a clear support requirement for UAs beside just parsing. A similar (if not stronger) argument may be raised against the reuse of the content attribute in the context of RDFa, which I think has caused a significant change with respect to its original semantics (now it should be shared by every element, originally it was a specific attribute; now it should be part of an RDF _triple_, in origin it was - and is still - part of a _pair_ when used in conjunction with the "name" attribute, and constitutes a pragma directive in conjunction with the "http-equiv" attribute, which is somehow closer to an XML processing instruction than to an RDF triple - the same applies to a with rel="stylesheet", for instance). > Yes, in real life, there are pages that use class="vcard" for things > other than encoding hCard. (They mostly use it for linking to VCF > files.) Incredibly, I've even come across pages that use class="vcard" > for non-hCard uses, *and* hCard - yes, on the same page! As the > Microformat/POSHformat space becomes more crowded, accidental > collisions in class names become ever more likely. > Indeed, that's a possible source of troubles. I think that's the same if people misused prefixes, e.g. if after merging some content from different documents they got a different namespace binded to a previously declared prefix in a scope where both namespaces are involved (in an xhtml document). Also, a custom script may distinguish between different uses of "vcard" by the mean of a further, private classname, or by enveloping elements in containers (divs) with proper ids, which may be a good solution in some cases, and not in other ones; a more generic parser, being specialized by design, has a chance to recognize a correct structure for a given format and to discard wrong informations, which may work fine in some cases, but not in others. As always, each choice has its own downsides, and what counts is the costs/benefits ratio; it seems that any solution not requiring to be supported has the lowest costs for UA implementors. I do not doubt xml extensibility (which effectively is the base of curies) has its own benefits, it's flexible and suitable for a quick developement of custom solutions, but it's also got its own downsides, such as leading to a possible heavy fragmentation, being difficoult to understand and use for many people (who are usually fooled by the concept of namespaces) and thus potentially causing misuses and errors. It doesn't seems that xml extensibility brought more benefits than costs, and a proof can lay in the majority of the web not having followed the envisioned xml-alike evolution. Anyway, I'm not strongly against RDFa in HTML, instead, I can be quite neutral (I'd live with it); I'm not convinced it is worth to add it to the spec at this stage and until it would be possible to establish what UAs must do with them beside parsing (and how to deal with namespaces while parsing). Also, I'm not fully convinced by the need to embed metadata in a page and keep them in sync with that page. For instance, it require that every page reporting the same informations must duplicate the same metadata structure, and this doesn't grant that those informations, in first place, are in sync with real world (some pages might be out-of-date, others might be up-to-date). Instead, a separate file containing metadata to be linked when appropriate might solve both the problems: it doesn't require duplicates and can have a somewhat versioning to keep trace of changes and to present updated machine-friendly information to help users visiting an outdated page (assuming users can trust those metadata). Of course, this solution has its own downsides too. WBR, Alex -- Caselle da 1GB, trasmetti allegati fino a 3GB e in piu' IMAP, POP3 e SMTP autenticato? GRATIS solo con Email.it http://www.email.it/f Sponsor: Blu American Express: gratuita a vita! Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=8615&d=4-2 From alex.baldacchino at email.it Tue Feb 3 19:16:26 2009 From: alex.baldacchino at email.it (Calogero Alex Baldacchino) Date: Wed, 04 Feb 2009 04:16:26 +0100 Subject: [whatwg] What RDF does Re: Trying to work out... In-Reply-To: References: <061D9684-D7A9-48F0-A042-F71AEEE865C9@tobyinkster.co.uk> <41E096C93F384F9BA6B0A09A87EF8E97@POCZTOWIEC> <48B5D840.5000704@digitalbazaar.com> <495F97A9.1080602@email.it> <4966AE40.3040600@email.it> Message-ID: <4989088A.1060700@email.it> Charles McCathieNevile ha scritto: > On Fri, 09 Jan 2009 12:54:08 +1100, Calogero Alex Baldacchino > wrote: > >> I admit I'm not very expert in RDF use, thus I have a few questions. >> Specifically, maybe I can guess the advantages when using the same >> (carefully modelled, and well-known) vocabulary/ies; but when two >> organizations develop their own vocabularies, similar yet different, >> to model the same kind of informations, is merging of data enough? >> Can a processor give more than a collection of triples, to be then >> interpreted basing on knowledge on the used vocabulary/ies? > > RDF consists of several parts. One of the key parts explains how to > make an RDF vocabulary self-describing in terms of other vocabularies. > >> I mean, I assume my tools can extract RDF(a) data from whatever >> document, but my query interface is based on my own vocabulary: when >> I merge informations from an external vocabulary, do I need to >> translate one vocabulary to the other (or at least to modify the >> query backend, so that certain curies are recognized as representing >> the same concepts - e.g. to tell my software that 'foaf:name' and >> 'ex:someone' are equivalent, for my purposes)? If so, merging data >> might be the minor part of the work I need to do, with respect to >> non-RDF(a) metadata (that is, I'd have tools to extract and merge >> data anyway, and once I translated external metadata to my format, I >> could use my own tools to merge data), specially if the same model is >> used both by mine and an external organization (therefore requiring >> an easier translation). > > If a vocabulary is described, then you can do an automated translation > from one RDF vocabulary to another by using your original query based > in your original vocabulary. This is one of the strengths of RDF. > Certainly, this is a strong benefit. However, when comparing different vocabularies in depth to their basic description (if any), I guess there may be a chance to find vocabularies which are not described in terms of each other, or of a third common vocabulary, thus a translation might be needed anyway. This might be true for small-time users developing a vocabulary for internal use before starting an external partnership, or regardless of the partnership (sometimes, small-time users may find it easier/faster to "reinvent the wheel" and modify it to address evolving problems; potentially someone might be unable to afford an extensive investigation to find an existing vocabulary fulfilling his requirments, or to develope a new one in conjunction with a partner having similar but slightly different needs, and thus potentially leading to a longer process to mediate respective needs. In such a case, I wouldn't expect that such a person will look for existing, more generic vocabularies which can describe the new one in order to ensure the widest possible interchange of data - that is, until a requirement for interchange arises, designing a vocabulary for that might be an overengineered task, and once the requirement was met, addressing it with a translation or with a description in term of a vocabulary known to be involved (each time the problem recurres) might be easier/faster than engineering a good description once and for all). Anyway, let's assume we're going to deal with well-described vocabularies. Is the automated translation a task of a parser/processor creating a graph of triples, or a task of a query backend? And what are the requirements for a UA, from this perspective? Must it just parse the triples and create a graph or also take care of a vocabulary description? Must it be a complete query backend? Must it also provide a query interface? How much basic or advanced must the interface be? I think we should answer questions like this, and try and figure out possible problems arising with each answer and possible related solutions, because the concern here should be what UAs must do with RDF embedded in a non-RDF (and non-XML) document. >> Thus, I'm thinking the most valuable benefit of using RDF/RDFa is >> the sureness that both parties are using the very same data model, >> despite the possible use of different vocabularies -- it seems to me >> that the concept of triples consisting of a subject, a predicate and >> an object is somehow similar to a many-to-many association in a >> database, whereas one might prefer a one-to-many approach - though, >> the former might be a natural choice to model data which are usually >> sparse, as in a document prose. > > I don't see the ananlogy, but yes, I think the big benefit is being > able to ensure that you know the data model without knowing the > vocabulary a priori - since this is sufficient to automate the process > of merging data into your model. > I understand the benefit with respect to well-known and/or well-described vocabularies, but I wonder if an average small-time user would produce a well-described or a very-custom vocabulary. In the latter case, a good knowledge of a foreing vocabulary should be needed before querying it and I guess the translation can't be automated, but requires an understanding level which might be close to the one needed to translate from a (more or less) different model. In this case, the benefit of an automated merging of data from similar models might be lost in front of a non-automated translation which might be as difficult as translating from different models (but with a sufficient verbal documentation - that is with a natural language description, which should be easier to produce than a code-level description), given that translated data should be easy to merge. I'm pushing this concept because I think it should be clear what scenario is more likely to happen, to avoid to introduce features perfectly designed for the same people who can develop a "perfect" vocabulary with a "perfect" generic description, and I suppose to be the same who can afford to develop a generic toolkit on their own, or to adjust an existing one (thus, they might be pleased with a basic support and a basic API), but not for most small-time users, who might develop a custom vocabulary the same way they develop a custom model, thus needing more custom tools (again, a basic support and a basic API might satisfay their needs, more than a complete backend working fine with well-described vocabularies but not with completely unknown ones, thus requiring a custom developement anyway). Assuming this is true, there should be an evidence that the same people who'd produce a "bad" vocabulary do not prefer a completely custom model, because, if they were the great majority, we would risk to invest resources (on the UAs side, if we made of it a general requirement) to help people who may be pleased with the help, but not really need it (because they're not small-time users maybe, and can do it on their own without too much effort -- this doesn't mean that their requirements are less significant and worth to be taken into account, but in general UA developers might not be very happy to invest their resources to implement something which is or appear overengineered with respect to the real needs "in the wild", thus we should carefully establish how strong is the need to support RDFa and accurately define support requirements for UAs). > cheers > > Chaals > WBR, Alex -- Caselle da 1GB, trasmetti allegati fino a 3GB e in piu' IMAP, POP3 e SMTP autenticato? GRATIS solo con Email.it http://www.email.it/f Sponsor: Blu American Express: gratuita a vita! Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=8613&d=4-2 From alex.baldacchino at email.it Tue Feb 3 19:17:18 2009 From: alex.baldacchino at email.it (Calogero Alex Baldacchino) Date: Wed, 04 Feb 2009 04:17:18 +0100 Subject: [whatwg] RDFa is to structured data, like canvas is to bitmap and SVG is to vector In-Reply-To: <497233D3.8000904@burningbird.net> References: <49720D65.6060301@burningbird.net> <3d4032300901171027l72ae0411jc6cb23a4d8748f34@mail.gmail.com> <497233D3.8000904@burningbird.net> Message-ID: <498908BE.1000301@email.it> Shelley Powers ha scritto: > > > The point I'm making is that you set a precedent, and a good one I > think: giving precedence to "not invented here". In other words, to > not re-invent new ways of doing something, but to look for established > processes, models, et al already in place, implemented, vetted, etc, > that solve specific problems. Now that you have accepted a use case, > Martin's, and we've established that RDFa solves the problem > associated with the use case, the issue then becomes *is there another > data model already as vetted, documented, implemented that would > better solve the problem*. > RDF in a separate XML-syntax file, perhaps. Just because that use case raised a privacy concern on informations to keep private anyway, and that's not a problem solvable at the document level with metadata; instead, keeping relevant metadata in a separate file would help a better access control. Also, a separate file would have the relevant informations ready for use, while embedding them with other content would force a load and parsing of the other content in search of relevant metadata (possible, of course, and not much of a problem, but not as clean and efficient). Moreover, it should be verified whether social-network service providers agree with such a requirement: I might avail of a compliant implementation to easily migrate from one service to another and leave the former, in which case why should a company open its inner infrastructure and database and invest resources for the benefit of a competitor accessing its data and consuming its bandwidth to catch its customers? (this is not the same interoperability issue for mail clients supporting different address book formats, minor vendors had to do that to improve their businness - and they didn't need to access a competitor's infrastructure). Perhaps, that might work if personal infos and relationships were handled by an external service on the same lines of an OpenID service allowing an automated identification by other services; but this would reduce social networks to be a kind of front-end for such a centralized management (and service providers might not like that). Also, in this case anonimity should be ensured (for instance, I might have met you in two different networks, but knew your identity in only one of them, and you might wish that no one knew you're the person behind the other nickname; this is possible taking different informations in different databases and with different access rights, and should be replicable when merging such infos -- on the other hand, if you knew my identity, you should be allowed to "fill in the blanks" somehow). Shelley Powers ha scritto: > Anne van Kesteren wrote: >> On Sun, 18 Jan 2009 17:15:34 +0100, Shelley Powers >> wrote: >>> And regardless of the fact that I jumped to conclusions about WhatWG >>> membership, I do not believe I was inaccurate with the earlier part >>> of this email. Sam started a new thread in the discussion about the >>> issues of namespace and how, perhaps we could find a way to work the >>> issues through with RDFa. My god, I use RDFa in my pages, and they >>> load fine with any browser, including IE. I have to believe its >>> incorporation into HTML5 is not the daunting effort that others make >>> it seem to be.' >> >> You ask us to take you seriously and consider your feedback, it would >> be nice if you took what e.g. Henri wrote seriously as well. >> Integrating a new feature in HTML is not a simple task, even if the >> new feature loads and renders fine in Internet Explorer. >> > Take you guys seriously...OK, yeah. > > I don't doubt that the work will be challenging, or problematical. I'm > not denying Henri's claim. And I didn't claim to be the one who would > necessarily come up with the solutions, either, but that I would help > in those instances that I could. It seems that you'd expect RDFa to be specced out before solving related problems (so to push their solution). I don't think that's the right path to follow, instead known issues must be solved before making a decision, so that the specification can tell exactly what developers must implement, eventually pointing out (after/while implementing) newer (hopefully minor) issues to be solved by refining the spec (which is a different task than specifying something known to be, let's say, "buggy" or uncertain). Everything, as always, IMHO WBR, Alex -- Caselle da 1GB, trasmetti allegati fino a 3GB e in piu' IMAP, POP3 e SMTP autenticato? GRATIS solo con Email.it http://www.email.it/f Sponsor: Blu American Express: gratuita a vita! Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=8613&d=4-2 From alex.baldacchino at email.it Tue Feb 3 19:17:59 2009 From: alex.baldacchino at email.it (Calogero Alex Baldacchino) Date: Wed, 04 Feb 2009 04:17:59 +0100 Subject: [whatwg] embedding meta data for copy/paste usages - possible use case for RDF-in-HTML? In-Reply-To: References: <4974D2B5.3080900@lachy.id.au> Message-ID: <498908E7.60400@email.it> Hallvord R M Steen ha scritto: > >> HTML5 already contains elements that can be used to help obtain this >> information, such as the , <article> and it's associated heading <h1> >> to <h6> and <time>. Obtaining author names might be a little more >> difficult, though perhaps hCard might help. >> > > Indeed. And it's not an either-or counter-suggestion to my proposal, > UAs could fall back to extracting such data if more structured meta > data is not available. > > I think that's a counter-suggestion, instead. If UAs can gather enough informations from existing markup, they don't need to support further metadata processing; if authors can put enough informations in a page within existing markup (or markup being introduced in current specification), they don't need to learn and use additional metadata to repeat the same informations. It seems that any additional metadata-related markup would add complexity to UAs (requiring support) but not advantages (with respect to existing solutions) in this case. Therefore, the question moves to the format to use to move such infos to the clipboard, which is a different concern than embedding metadata in a page. Also, different use cases should lead to different formats (with different kind of informations taken apart in different clipboard entries, or binded in a sort of multipart envelop to be serialized in just one entry), because a generic format, addressing a lot of use cases, could seem overengineered to developers dealing with a specific use case, thus a specific format could gain support in other applications more easily --- third parties developers could find easier and more consistent to get access to the right infos in the right format, either by looking for a specific entry (if supported by the OS), or by parsing a few headers in a multipart entry looking for an offset associated with a mime-type (which would work without requiring support by OS's, but an OS could provide facilities to directly access to a proper section anyway; however, any support for multiple kinds of infos should be in scope for the OS clipbord API and/or the UA, not for a specific application requiring specific data - and, given the above, that should not be in scope for HTML5). >>> If I copy the name of one of my Facebook "friends" and paste it into >>> my OS address book, it would be cool if the contact information was >>> imported automatically. Or maybe I pasted it in my webmail's address >>> book feature, and the same import operation happened.. >>> >> I believe this problem is adequately addressed by the hCard microformat and >> various browser extensions that are available for some browsers, like >> Firefox. The solution doesn't need to involve a copy and paste operation. >> It just needs a way to select contact info on the page and export it to an >> address book. >> > > This is way more complicated for most users. Your last sentence IMO is > not an appropriate way to use the word "just", seeing that you need to > find and invoke an "export" command, handle files, find and invoke an > "import" command and clear out the duplicated entries.. This is > impossible for several users I can think of, and even for techies like > us doing so repeatedly will eventually be a chore (even if we CAN, it > doesn't mean that's the way we SHOULD be working). > It can be improved, but it's the _best_ way to do that, and should be replicated in the "copy-and-paste" architecture you're proposing. Please, consider a basic usability principle says users should be able to understand what's going on basing on previous experience (that is, an interface have to be predictable); but users aren't confident with copying and pasting something different than text (in general), thus a UA should distinguish among a bare "copy" option, and more specific actions (such as "copy as quotation", "copy contact info", and so on), and related paste options (as needed), so that users can understand and choose what they want to do. On the other hand, the same should happen in a recipient application, especially if providing support for different kinds of info; if either a UA or a recipient application (or both) provided a simple copy and a simple paste option (or fewer options than supported, basing on metadata or common markup) it could be confusing for users, nor should applications use metadata to choose what to do, because the user could just want to copy and paste some text (or do something else, but he knows what, so he must be free to choose it). That is, what you're proposing is mainly addressed by moving around import/export features to put them into a context menu and making them work on a selection of text (not eliminating and substituting them with a "simpler" copy-paste architecture), then requiring support by other applications and eventually by the operative system, which is definetly out-of-scope for any web-related standards (we can constrain web-related applications to improve their interoperability with respect to web-related features, not generic client-only applications and/or operative systems to create a "brand-new" interaction and interoperability - and UA implementors wouldn't be happy to implement something they know to be incompatible with existing platforms). > Besides, it doesn't really address the "copy ONE contact's > information" use case well. > > Assuming social-networks service provider wanted to support it, I think the best way to accomplish this case is to take metadata modelling a contact info in a separate, non-html file, so to provide a better control on sensible data and enforce privacy, and to expose it as a linked resource, accessible with proper rights (and modified server-side according to lower- or heigher-level rights). For instance, a nickname in a page could be part of an anchor pointing to a homepage, with an associated context menu linking to exportable metadata. This would work in about every UAs: a compliant one could recognize the metadata format while fetching it (eg through its headers, or sniffing its content), copy it to the clipboard in an appropriate manner, and notify it to the user, or activate a proper plugin associated with a proper mime-type (or just ask the user what to do); a non-compliant one could just show it as plain text, that users could copy and paste as serialized metadata in an application supporting such a format, which could fit the purpose very well and thus be largely supported as a contact info interchange format (a plugin associated to a mime-type would work in this case too, as well as telling the user what to do - save locally, open with an external application, convert to something else if possible, and so on). > >>> If I select an E-mail in my webmail and copy it, it would be awesome >>> if my desktop mail client would just import the full E-mail with >>> complete headers and different parts if I just switch to the mail >>> client app and paste. >>> >> Couldn't this be solved by the web mail server providing an export feature >> which let the user download the email as an .eml file and open it with their >> mail client? >> > > Of course, that or POP/IMAP access is the way things currently work. > > >> Again, I don't believe the solution to this requires a copy >> and paste operation. >> > > ..but I think it would be more intuitive and user friendly if > something like that worked. (Or drag-and-drop an E-mail from the > webmail to the desktop client/file system/other webmail, which is > basically the same thing). > > I think that drag-and-drop would work better in this case, and without necessarily requiring a clipboard mechanism (that is, differently from a copy-and-paste operation). For instance, a webmail interface could provide a link (named ".eml version" or "get a copy" or "save locally" or the alike) to an eml file (that is, to the mail entry in a server database dynamically extracted and served with proper headers when queried -- this is yet done, somehow, by some webmails). Given that, a user would have two choices: 1) Just follow the link, so that his UA would recognize a non-html document and, * open it through a plugin; * open it through an external program; * ask the user what to do, whithin the option to save the file locally; this is consistent with other similar operations users are confident with (such as opening a pdf file), and doesn't require any particular further support, neither from the UA, nor from the OS, nor from the recipient application. Of course, the user could also right click the link and select "save as" (or "save target as", or whatever else it is labeled). 2) Drag-and-drop the link to the desktop, or to another application, so that either a symlink (or an "internet shortcut" or whatever else it is called) or a .eml file (to avoid authentication issues) is created (on the desktop, or in a temporary folder, as needed). This can work quite fine when dragging to the desktop (it should create a symlink in most platforms), and require a little more support to create a .eml file (this is yet possible on some platforms always asking what to do with a dragged 'object') and/or to improve direct drag-and-drop between applications (actually it may not work or produce the same effect as copying and pasting the resource address). In the latter case (direct drag-and-drop), recipient applications could recognize the dragged text as a URI and try and open it the same way they open a local file and follow a symbolic link, thus reducing requirements for OS support; authentication issues could be solved by supporting http authentication (or a form-based challange) either in a library used by recipient applications, or even in a system library (freely implemented by an OS, without any explicit requirement), which could be an improvement for generic resources location and access (specially when dealing with symlinks), therefore possibly useful in other contexts than just enhancing the interoperability between a browser and other applications, and therefore more likely to be implemented. The overall mechanism (normal link to a resource + normal/little improved drag-and-drop of the link) should work very fine in most platforms and fall back gracefully in other ones, both because in part it works fine as is, and in part it would require, globally, fewer work to support it than to support a copy-and-paste mechanism based on metadata (or an effort which could be useful in different contexts than just a rich copy-and-paste between applications, whereas it is out-of-scope for html5, and will remain such until some experimentations will have been made on some platforms by some UA and non-UA applications). On the other hand, a copy-and-paste mechanism (working as if saving a .eml file, or just putting metadata into the clipboard) would reduce or eliminate authentication issues (though constraining a strong OS support, which is a hard goal for a web standard), but I think that's less usable, all things considered. Let's consider the case of a message containing a big attachment, such as a pdf file, which is never immediately downloaded by any webmails and IMAP clients: a UA could hang over while downloading it as the result of a copy operation, blocking the following paste (if not the whole OS clipboard, if locked -- not doing so could cause a wrong paste by a user not caring that his browser is still working and trying to paste something immediately hence, as usually possible). I think that an immediate drag-and-drop, with the recipient application (eventually a window manager) handling the download is a better solution (after all, that's what usually happens when opening a big file from a slow source). WBR, Alex -- Caselle da 1GB, trasmetti allegati fino a 3GB e in piu' IMAP, POP3 e SMTP autenticato? GRATIS solo con Email.it http://www.email.it/f Sponsor: Blu American Express: gratuita a vita! Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=8614&d=4-2 From alex.baldacchino at email.it Tue Feb 3 19:25:51 2009 From: alex.baldacchino at email.it (Calogero Alex Baldacchino) Date: Wed, 04 Feb 2009 04:25:51 +0100 Subject: [whatwg] RDFa is to structured data, like canvas is to bitmap and SVG is to vector In-Reply-To: <497233D3.8000904@burningbird.net> References: <49720D65.6060301@burningbird.net> <3d4032300901171027l72ae0411jc6cb23a4d8748f34@mail.gmail.com> <Pine.LNX.4.62.0901171910570.29785@hixie.dreamhostps.com> <497233D3.8000904@burningbird.net> Message-ID: <49890ABF.2030801@email.it> Shelley Powers ha scritto: > > > The point I'm making is that you set a precedent, and a good one I > think: giving precedence to "not invented here". In other words, to > not re-invent new ways of doing something, but to look for established > processes, models, et al already in place, implemented, vetted, etc, > that solve specific problems. Now that you have accepted a use case, > Martin's, and we've established that RDFa solves the problem > associated with the use case, the issue then becomes *is there another > data model already as vetted, documented, implemented that would > better solve the problem*. > RDF in a separate XML-syntax file, perhaps. Just because that use case raised a privacy concern on informations to keep private anyway, and that's not a problem solvable at the document level with metadata; instead, keeping relevant metadata in a separate file would help a better access control. Also, a separate file would have the relevant informations ready for use, while embedding them with other content would force a load and parsing of the other content in search of relevant metadata (possible, of course, and not much of a problem, but not as clean and efficient). Moreover, it should be verified whether social-network service providers agree with such a requirement: I might avail of a compliant implementation to easily migrate from one service to another and leave the former, in which case why should a company open its inner infrastructure and database and invest resources for the benefit of a competitor accessing its data and consuming its bandwidth to catch its customers? (this is not the same interoperability issue for mail clients supporting different address book formats, minor vendors had to do that to improve their businness - and they didn't need to access a competitor's infrastructure). Perhaps, that might work if personal infos and relationships were handled by an external service on the same lines of an OpenID service allowing an automated identification by other services; but this would reduce social networks to be a kind of front-end for such a centralized management (and service providers might not like that). Also, in this case anonimity should be ensured (for instance, I might have met you in two different networks, but knew your identity in only one of them, and you might wish that no one knew you're the person behind the other nickname; this is possible taking different informations in different databases and with different access rights, and should be replicable when merging such infos -- on the other hand, if you knew my identity, you should be allowed to "fill in the blanks" somehow). Shelley Powers ha scritto: > Anne van Kesteren wrote: >> On Sun, 18 Jan 2009 17:15:34 +0100, Shelley Powers >> <shelleyp at burningbird.net> wrote: >>> And regardless of the fact that I jumped to conclusions about WhatWG >>> membership, I do not believe I was inaccurate with the earlier part >>> of this email. Sam started a new thread in the discussion about the >>> issues of namespace and how, perhaps we could find a way to work the >>> issues through with RDFa. My god, I use RDFa in my pages, and they >>> load fine with any browser, including IE. I have to believe its >>> incorporation into HTML5 is not the daunting effort that others make >>> it seem to be.' >> >> You ask us to take you seriously and consider your feedback, it would >> be nice if you took what e.g. Henri wrote seriously as well. >> Integrating a new feature in HTML is not a simple task, even if the >> new feature loads and renders fine in Internet Explorer. >> > Take you guys seriously...OK, yeah. > > I don't doubt that the work will be challenging, or problematical. I'm > not denying Henri's claim. And I didn't claim to be the one who would > necessarily come up with the solutions, either, but that I would help > in those instances that I could. It seems that you'd expect RDFa to be specced out before solving related problems (so to push their solution). I don't think that's the right path to follow, instead known issues must be solved before making a decision, so that the specification can tell exactly what developers must implement, eventually pointing out (after/while implementing) newer (hopefully minor) issues to be solved by refining the spec (which is a different task than specifying something known to be, let's say, "buggy" or uncertain). Everything, as always, IMHO WBR, Alex -- Caselle da 1GB, trasmetti allegati fino a 3GB e in piu' IMAP, POP3 e SMTP autenticato? GRATIS solo con Email.it http://www.email.it/f Sponsor: Blu American Express: gratuita a vita! Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=8614&d=4-2 From chris at pearce.org.nz Tue Feb 3 20:16:05 2009 From: chris at pearce.org.nz (Chris Pearce) Date: Wed, 04 Feb 2009 17:16:05 +1300 Subject: [whatwg] Adding resourceless media to document causes error event Message-ID: <49891685.4010104@pearce.org.nz> I need to clarify something about the media load() algorithm [ http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#dom-media-load ] My reading of the spec is that if you have a media element with no src attribute or source element children (e.g. <video></video>) and you insert it into a document, then the media load() algorithm will be implicitly invoked, and because the list of potential media resources is empty, that algorithm will immediately fall through to the "failure step" (step 12), causing an error progress event to be dispatched to the media element. My question is: Is is really necessary to invoke the load algorithm when adding a media element with no src/sources to a document? Doing so just causes an error progress event dispatch, and we've not exactly failed to load anything, indeed, we've not even tried to load anything in this case. Thanks, Chris Pearce. From sayrer at gmail.com Tue Feb 3 20:48:25 2009 From: sayrer at gmail.com (Robert Sayre) Date: Tue, 3 Feb 2009 20:48:25 -0800 Subject: [whatwg] RDFa is to structured data, like canvas is to bitmap and SVG is to vector In-Reply-To: <4975E465.4090808@mit.edu> References: <fb6fbf560901172032l6a197245ha054152a73ae1d46@mail.gmail.com> <4975E465.4090808@mit.edu> Message-ID: <68fba5c50902032048l1c03d9e0ka25ef00ac08d5510@mail.gmail.com> RDFa should sink or swim on its own merits, and if RDFa requires drastic changes to HTML, it is probably broken. Let the compelling benefits of RDFa pave the way to implementations, and then standardize based on experience with those. RDFa should not be blessed by HTML, and the HTML spec should adopt a similar stance to all new features. For example, I would be very surprised to see Web Sockets fail on its own, since the benefits seem clear. But I could be wrong, and it should face a survival test. -- Robert Sayre "I would have written a shorter letter, but I did not have the time." From alex.baldacchino at email.it Tue Feb 3 20:51:12 2009 From: alex.baldacchino at email.it (Calogero Alex Baldacchino) Date: Wed, 04 Feb 2009 05:51:12 +0100 Subject: [whatwg] Adding resourceless media to document causes error event In-Reply-To: <49891685.4010104@pearce.org.nz> References: <49891685.4010104@pearce.org.nz> Message-ID: <49891EC0.80503@email.it> Chris Pearce ha scritto: > I need to clarify something about the media load() algorithm [ > http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#dom-media-load > ] > > My reading of the spec is that if you have a media element with no src > attribute or source element children (e.g. <video></video>) and you > insert it into a document, then the media load() algorithm will be > implicitly invoked, and because the list of potential media resources > is empty, that algorithm will immediately fall through to the "failure > step" (step 12), causing an error progress event to be dispatched to > the media element. > > My question is: > > Is is really necessary to invoke the load algorithm when adding a > media element with no src/sources to a document? Doing so just causes > an error progress event dispatch, and we've not exactly failed to load > anything, indeed, we've not even tried to load anything in this case. > > > Thanks, > Chris Pearce. Maybe an attribute such as "enabled" (or "disabled") or "defer" or the alike could be helpful, so that any operations can be freezed/deferred whenever a DOM manipulation is needed, without caring of possible consequences (unless the video is being played, in which case I think that either manipulations should be avoided, and/or their effects ignored/deferred, or the playback should be explicitely stopped, e.g. by calling a stop() method, to force the immediate execution of a scheduled evaluation of new sources, eventually after the UA has asked the user for his permission -- I'd prefer this approach to any explicite invocation of the load() method, which could instead be a routine invoked by a task engine under certain conditions). WBR, Alex -- Caselle da 1GB, trasmetti allegati fino a 3GB e in piu' IMAP, POP3 e SMTP autenticato? GRATIS solo con Email.it http://www.email.it/f Sponsor: Blu American Express: gratuita a vita! Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=8615&d=4-2 From giovanni.gentili at gmail.com Tue Feb 3 23:11:41 2009 From: giovanni.gentili at gmail.com (Giovanni Gentili) Date: Wed, 4 Feb 2009 08:11:41 +0100 Subject: [whatwg] RDFa is to structured data, like canvas is to bitmap and SVG is to vector In-Reply-To: <498908BE.1000301@email.it> References: <49720D65.6060301@burningbird.net> <3d4032300901171027l72ae0411jc6cb23a4d8748f34@mail.gmail.com> <Pine.LNX.4.62.0901171910570.29785@hixie.dreamhostps.com> <497233D3.8000904@burningbird.net> <498908BE.1000301@email.it> Message-ID: <4a30f5360902032311n75ac1eccpeb497fd37b367c51@mail.gmail.com> Calogero Alex Baldacchino wrote: > It seems that you'd expect RDFa to be specced out before solving related > problems (so to push their solution). I don't think that's the right path to > follow, instead known issues must be solved before making a decision, so > that the specification can tell exactly what developers must implement I think that an help in defining of the requirements around structured data, RDFa, metadata copy&paste, semantic links [1],etc could came from the W3C document "Use Cases and Requirements for Ontology and API for Media Object 1.0" [2] Take the requirements listed from "r01" to "r13" and replace the term "media objects" with "structured/linked data". [1] http://lists.w3.org/Archives/Public/public-html/2009Jan/0082.html [2] http://www.w3.org/TR/2009/WD-media-annot-reqs-20090119/#req-r01 -- Giovanni Gentili From bhawkeslewis at googlemail.com Wed Feb 4 00:13:05 2009 From: bhawkeslewis at googlemail.com (Benjamin Hawkes-Lewis) Date: Wed, 04 Feb 2009 08:13:05 +0000 Subject: [whatwg] Trying to work out the problems solved by RDFa In-Reply-To: <4989085E.5040709@email.it> References: <061D9684-D7A9-48F0-A042-F71AEEE865C9@tobyinkster.co.uk> <41E096C93F384F9BA6B0A09A87EF8E97@POCZTOWIEC> <D2E95E63-AF9B-42F1-A1D8-8FE82BDB8CEE@tobyinkster.co.uk> <48B5D840.5000704@digitalbazaar.com> <Pine.LNX.4.62.0812310239160.24109@hixie.dreamhostps.com> <op.um19y5ajwxe0ny@widsithpro.lan> <495F97A9.1080602@email.it> <op.um7lz7ufwxe0ny@widsithpro.lan> <4966AE40.3040600@email.it> <2E944B0D-0AB0-4099-8CA4-5F55ABA52E67@geekhood.net> <49695EA4.1060302@email.it> <4969BED3.9010401@googlemail.com> <496A23D8.9090901@email.it> <496A28D6.90104@googlemail.com> <496BA788.1030206@email.it> <496BC0B6.2060906@googlemail.com> <4989085E.5040709@email.it> Message-ID: <49894E11.6080304@googlemail.com> On 4/2/09 03:15, Calogero Alex Baldacchino wrote: > For what concerns XHTML, I disagree with the introduction of RDFa > attribute into the basic namespace, and I wouldn't encourage the same in > HTML5 spec. In first place, I think there is a possible conflict with > respect to the "content" attribute semantics, because it now requires a > different processing when used as an RDFa attribute and as a <meta> > attribute associated to an "http-equiv" or a "name" value (for instance). What conflict? 1. Attributes in XHTML can be distinguished by the elements they apply to as well as their name (e.g. the "name" attribute). 2. In XHTML+RDFa, "content" actually means the same thing on "meta" as on any other element in XHTML, which is presumably why they reused that attribute rather than introducing a new (better-named?) one: http://www.w3.org/TR/rdfa-syntax/#rdfa-attributes > In second place, it might be confusing for authors and lead to the > misconception that every xhtml 1.x processor is also capable to process > rdfa metadata (this is a limit of namespace + dtd/schema based > modularization, because one can define the structure of a document, but > not "orthogonal" behaviours requiring a specific support, not covered by > the basic document model - such as collecting rdf triples declared by > rdfa attributes, or calling a plugin and embedding its output - however, > defining a proper namespace, maybe including its creation date somehow, > may suggest what to expect from UAs). There's no way to query a user agent about support for the specifications associated with a particular namespace, and namespaces are an unreliable guide to what user agents actually support, so I don't buy this concern. Existing XHTML 1.x user agents don't always implement all the features of XHTML 1.x (e.g. exposing "longdesc" and "cite" to the user). HTML5 is introducing new elements and attributes into the same namespace, and authors would be wrong to assume that any XHTML-supporting browser will know what to do with them beyond inserting them into the DOM. XHTML modularization means you can't count on an XHTML user agent to implement any particular feature in the XHTML namespace. A more reliable guide to what user agents support is looking at the list of supported features (as opposed to namespaces or modules or any other proxy) in their documentation. > In third place, creating a different namespace would have resulted in a > far easier introduction of RDFa attributes into other xml languages > without having to change the language to host them (by the way, the > xhtml namespace and a related prefix can be used, but this require a > more specific support due to the "content" attribute issue, especially > by UAs not supporting DTDs or schemata - that is, what should happen if > an element were declared with both xhtml:name or xhtml:http-equiv, > xhtml:content and xhtml:datatype, in an xml document accepting any > attributes from external namespaces? I cannot understand how RDFa attributes in a different namespace would be easier to reuse either in another language or a XML document where the host is not XHTML. "content" and "datatype" mean the same on all elements, so your particular example seems like a non-problem to me - at least from the perspective of RDFa, which doesn't define processing for "name" or "http-equiv". In so far as there is a problem, it's already a problem with bog-standard XHTML. How should <myml:bar xhtml:name="foo" xhtml:http-equiv="baz" xhtml:content="quux"> be processed? > of course, this is solvable, but > rdfa:content, rdfa:datatype and so on would make things easier, or at > least _cleaner_ and less confusing for authors having to understand that > an XML and RDF processor can/must support the xhtml namespace and its > _whole_ semantics, not just dom-related structures, but limited to RDFa > attributes, so that no <meta> or <object> or <link> can be used hoping > their semantics is supported, despite the support for the xhtml > namespace...). An "XML and RDF processor" doesn't have to support XHTML or RDFA - XML and RDF are independent specifications. A conforming XHTML+RDFa UA "user agent MUST support all of the features required in this specification. A conforming user agent must also support the User Agent conformance requirements as defined in XHTML Modularization [XHTMLMOD] section on "XHTML Family User Agent Conformance". http://www.w3.org/TR/rdfa-syntax/#uaconf Those further requirements can be read at: http://www.w3.org/TR/xhtml-modularization/conformance.html#s_conform_user_agent An XHTML+RDFa conforming user agent does not have to implement "meta", "object", or "link", and as a explained above, authors cannot assume support for particular features based on namespaces. > Also there might have been fewer attributes, each one > with a different semantic (assuming someone might not find useful to > have a link with rel="stylesheet" representing a triple, for instance). I don't follow. link with rel="stylesheet" _does_ represent information expressible as a triple, why would it be useful to pretend otherwise? And how would doing so make for fewer attributes? > If there were a general agreement, a new element/attribute would be > introduced as a result of a "bottom up" process (starting from > experimentations) integrated with a "top down" community evaluation - > for specific purposes, not generic machine exposure, I mean. There is no general agreement to that AFAICT, and I doubt think using unstandardized elements or attributes or using data-* for public use would be good approaches to extending HTML: the former blocks potential extension points (e.g. "canvas") and the later pointlessly introduces the risk that a private use might be confused with a public one. > (I'm not sure a generic machine data attribute - in general, not just > referring to rdfa - would solve that, because each new occurrence of the > problem might require a "brand new" datatype that only newer, updated > UAs would understand (older ones would just parse the attribute and > provide it as a string for further elaboration by a script, at most, but > this might not be much better than using a data-* attribute for private > script consumption), therefore, that wouldn't be necessarily different > than creating a new appropriate attribute/element as needed and > providing such new feature in newer, compliant UAs). It would be very different in practice, because (like new "class" names), new "content" values wouldn't need to go through the W3C/WHATWG standards process. That has a cost of course. You might end up with a worse design, especially if you don't go through a community like microformats. But that cost arguably isn't so bad when you're talking about embedding arbitrary data rather than features like "canvas" or "datagrid" that require new parsing, DOM APIs, and user interface from popular user agents. This cost appears to be acceptable in the case of microformat "class" names, for example. Now, you could already embed data with a bad design using HTML5's other extension mechanisms (e.g. "script"). It's just that microformats choose to abuse other attributes ("title") instead, partly because they allow you to wrap some human-readable content with its machine-readable equivalent (i.e. it's a more "markup-like" way of doing things). My feeling is that the cost of bad designs for embedded data is (1) unavoidable and (2) less than the benefits of avoiding misuse of other (X)HTML features for embedding data. -- Benjamin Hawkes-Lewis From philipj at opera.com Wed Feb 4 01:36:18 2009 From: philipj at opera.com (=?iso-8859-15?Q?Philip_J=E4genstedt?=) Date: Wed, 04 Feb 2009 10:36:18 +0100 Subject: [whatwg] Adding and removing media source elements In-Reply-To: <4988DA50.10405@email.it> References: <4987C2B6.2010600@pearce.org.nz> <Pine.LNX.4.62.0902030441300.952@hixie.dreamhostps.com> <op.uorp4zf4atwj1d@spock.linkoping.osa> <4988DA50.10405@email.it> Message-ID: <op.uotmaszeatwj1d@spock.linkoping.osa> On Wed, 04 Feb 2009 00:59:12 +0100, Calogero Alex Baldacchino <alex.baldacchino at email.it> wrote: > Philip J?genstedt ha scritto: >> On Tue, 03 Feb 2009 05:44:07 +0100, Ian Hickson <ian at hixie.ch> wrote: >> >>> On Tue, 3 Feb 2009, Chris Pearce wrote: >>>> >>>> (2) Why don't we invoke load() whenever a media element's src >>>> attribute >>>> or <source> children are changed, regardless of networkState? That way >>>> changes to the media's src/source other than the first change would >>>> have >>>> the same effect as first change, i.e. they'd have an immediate effect, >>>> causing load() to be invoked. >>> >>> Doing this would cause the first file to be downloaded multiple times >>> in a >>> row, leading to excessive network usage. >>> >> >> Surely this can't be the only reason? User agents are free to >> speculatively keep the current source loading when src/source changes >> and to stop loading it only if the "current media resource" does >> change. That, and caching, should be enough. >> >> I have always imagined that the reason for the conditioned load() is to >> not interrupt playback by fiddling with the DOM or doing something like >> *v.src=v.src* (although I'm quite sure that doesn't count as changing >> the attribute). However, now I can't convince myself that this makes >> any sense, since surely if you change src/source you actually do want >> to change the effective source (and load() is scheduled to run after >> the current script, so there's no risk of it being run too early). > > Doing the same with a script element can cause the script to be > re-fetched and re-executed on some browsers, so I think there is a > concrete chance to find the same behaviour for videos, and the spec have > to say when the load is allowed (or, at least, when it should not > happen). I'm not sure that every changes to the effective source should > take place, for instance, changing it (through the dom) after playback > has already started might not be very usable and should be avoided, > therefore, any such attempt should be ignored/aborted (eventually with > an exception) after playback start and until its end or an explicit stop > (by the user or by a script, so to encourage programmers to check the > state of the playback before taking any action). I also had this "avoid accidental reloads" theory before, but it doesn't strike me as very reasonable after thinking more about it. Can anyone give an example of a use case where the DOM src attribute or <source> elements are added/changed "accidentally" so that it would cause an unwanted reload? > Also, scheduling the load "after the current script" could not solve the > whole problem: any changes to the video may happen through an event > handler, therefore by different scripts, thus I think that it could be > helpful to allow a script to freeze (or revert) ongoing operations (as > well as the video interface) but playback (if yet started), so to (try > and) ensure (somehow) that any dynamic changes can be performed without > bothering the user, or are disallowed otherwise. Just so that there is no misunderstanding, load() already is scheduled to run after the current script has finished. This was rather explicit in an earlier version of the spec and the new wording with "queue a task" should be taken to mean the same I assume. Perhaps it should be made explicit though. > (what for? I'm considering the (maybe edge) case of a dynamic update of > a video source, for instance when a different/better source (higher > quality or with a more appropriate translation) is available, or for any > other reason (e.g. the complete list of available sources might be > streamed as a sequence of remote events for an immediate update and a > deferred/repeated playback), but if the current source is being played > it might not make sense to stop it and change it with a different one, > eventually restarting from the beginning, because it may be annoying for > users). Can you give an example of when a script would want to change src/source without intending for it to cause a change of the effective source? It sounds like an edge case indeed and something that the spec doesn't really need to care about. If you really wanted to do it, construct/copy a HTMLMediaElement in the DOM over time (in however many event handlers you want) and insert/replace it into the Document when done. > >> >> Related, since load() is async it depends on timing whether or not >> >> <video id=v></video> >> <script> >> v = document.getElementById('v'); >> v.src = 'test'; >> </script> >> >> causes the source 'test' to be loaded, as the network state may not be >> NETWORK_EMPTY when the src attribute is set. The same goes for adding >> source child elements of course. Yes, this is the same issue as >> http://lists.w3.org/Archives/Public/public-html/2009Jan/0103.html and >> would be resolved by calling load() unconditionally. >> > Or checking the network state to choose if it's the case to call load() > explicitely; however, due to its asynchronous nature, that might cause a > double invocation (depending on implementations), or similar problems. > Perhaps, the load() method should leave the network state unchanged > (NETWORK_EMPTY in this case) or revert it to a previous value whenever > the method fails to choose a candidate (e.g. because there is no > valid/new source, a yet chosen source is being played and cannot be > changed before it's stopped, and so on), and successive changes could be > scheduled for an evaluation as soon as possible (e.g. as soon as the > network state returns to be NETWORK_EMPTY, or becomes NETWORK_LOADED > and/or the playback ended or has been stopped - if appropriate in this > case), possibly being collapsed into a single task. Certainly it's possible to work around the current quirks in the spec by adding an explicit load(), but wouldn't it be better to remove the quirks unless there's some very compelling reason for them to be there? Scheduling load() after playback has ended and this type of thing just seems to add to the unpredictable asynchronousness of it all. It's a big problem that the script above can cause the source 'test' to sometimes be loaded and sometimes not, depending on implementation and speed of the network. If the network stops right after the <video> tag the asynchronous part of load() will finish and return networkState to NETWORK_EMPTY. However, if the network is fast you'll likely load the script and run it before the asynchronous part of load() has been run, while networkState is NETWORK_LOADING. It's completely un-obvious to the casual observer that a load() might be needed in the example above, and script authors will make mistakes since it will work in some browsers some times. > This way, a load evaluation preceeding the script execution, in your > example, would fail and revert the network state to be empty, triggering > a new invocation after the script has been executed; an evaluation > following the script would work as expected; an evaluation invoked while > the script is executing would cause the new v.src value to be scheduled > for a later check, (the overall mechanism would result in an > unconditioned scheduling of conditioned load() invocations, collapsed > into one single entry until a call to .load() is made, which I think > should be more performant than calling load() unconditionally - but I'm > not sure, it may depend on both the scheduler and the load method > implementations). > > Source elements might require a different treatment from the "src" > attribute. For instance, adding such an element while a list of > candidates is being generated or before entering the Candidate Loop > could cause the list to be re-checked, otherwise a delayed load is > scheduled (but this could add unneeded complexity, thus just scheduling > the change for a later evaluation could be enough). The DOM can't change while the candidate list is being generated as that's in the synchronous part of load(). But yes, one could keep adding criteria for scheduling new delayed load()s and perhaps solve some of the problems. However... There seems to be no practical benefit from the current behavior. To the contrary, it (sometimes, depending on random factors) cause some rather unexpected behavior that requires in-depth reading of the spec to understand. This is our implementor experience. Instead of making the spec more complicated to compensate, I suggest making load() unconditional. I am confident that we can handle the caching issues just fine and that edge cases of changing src/source when you don't really want to change the effective source are 100% solvable by other means. In fact, there would be little need for an explicit load() function at all, but that's another issue... -- Philip J?genstedt Opera Software From rob at sanchothefat.com Wed Feb 4 02:13:40 2009 From: rob at sanchothefat.com (Robert O'Rourke) Date: Wed, 04 Feb 2009 10:13:40 +0000 Subject: [whatwg] List Headers Message-ID: <49896A54.2040607@sanchothefat.com> Hi everyone, Are there any plans to bring list headers from HTML3 into HTML5? They'd make a lot of markup patterns simpler and be very very useful when it comes to styling. http://www.w3.org/MarkUp/html3/listheader.html -Rob From lemon at raspberry-style.net Wed Feb 4 02:20:21 2009 From: lemon at raspberry-style.net (Christian Svindseth) Date: Wed, 4 Feb 2009 11:20:21 +0100 Subject: [whatwg] List Headers In-Reply-To: <49896A54.2040607@sanchothefat.com> References: <49896A54.2040607@sanchothefat.com> Message-ID: <6BC3A580-957F-481D-B9F8-7B7A13162601@pha.hk> On Feb 4, 2009, at 11:13 AM, Robert O'Rourke wrote: > Hi everyone, > > Are there any plans to bring list headers from HTML3 into HTML5? > They'd make a lot of markup patterns simpler and be very very useful > when it comes to styling. > > http://www.w3.org/MarkUp/html3/listheader.html > > -Rob Unless I'm misreading the spec completely, HTML5 supports h1-h6, and even header elements inside list items. -Chris From rob at sanchothefat.com Wed Feb 4 02:23:21 2009 From: rob at sanchothefat.com (Robert O'Rourke) Date: Wed, 04 Feb 2009 10:23:21 +0000 Subject: [whatwg] List Headers In-Reply-To: <6BC3A580-957F-481D-B9F8-7B7A13162601@pha.hk> References: <49896A54.2040607@sanchothefat.com> <6BC3A580-957F-481D-B9F8-7B7A13162601@pha.hk> Message-ID: <49896C99.6000001@sanchothefat.com> Christian Svindseth wrote: > > On Feb 4, 2009, at 11:13 AM, Robert O'Rourke wrote: > >> Hi everyone, >> >> Are there any plans to bring list headers from HTML3 into HTML5? >> They'd make a lot of markup patterns simpler and be very very useful >> when it comes to styling. >> >> http://www.w3.org/MarkUp/html3/listheader.html >> >> -Rob > > Unless I'm misreading the spec completely, HTML5 supports h1-h6, and > even header elements inside list items. > > -Chris > I know that, I was referring to the <lh> element ie. <ul> <lh>A header for the list</lh> <li>List item</li> <li>List item</li> <li>List item</li> </ul> From lemon at raspberry-style.net Wed Feb 4 02:32:33 2009 From: lemon at raspberry-style.net (Christian Svindseth) Date: Wed, 4 Feb 2009 11:32:33 +0100 Subject: [whatwg] List Headers In-Reply-To: <49896C99.6000001@sanchothefat.com> References: <49896A54.2040607@sanchothefat.com> <6BC3A580-957F-481D-B9F8-7B7A13162601@pha.hk> <49896C99.6000001@sanchothefat.com> Message-ID: <2B43703F-B681-4777-B8D4-236849026922@pha.hk> On Feb 4, 2009, at 11:23 AM, Robert O'Rourke wrote: >> Unless I'm misreading the spec completely, HTML5 supports h1-h6, >> and even header elements inside list items. >> >> -Chris >> > > I know that, I was referring to the <lh> element ie. > > <ul> > <lh>A header for the list</lh> > <li>List item</li> > <li>List item</li> > <li>List item</li> > </ul> > Ah, I see. Sorry about that. My first thought is that allowing the existing header elements directly inside the ul would make more sense, but I could be missing something. There doesn't seem to be any significant semantic difference between the lh element and the ones already in the spec. -Chris From ian at hixie.ch Wed Feb 4 02:45:28 2009 From: ian at hixie.ch (Ian Hickson) Date: Wed, 4 Feb 2009 10:45:28 +0000 (UTC) Subject: [whatwg] List Headers In-Reply-To: <2B43703F-B681-4777-B8D4-236849026922@pha.hk> References: <49896A54.2040607@sanchothefat.com> <6BC3A580-957F-481D-B9F8-7B7A13162601@pha.hk> <49896C99.6000001@sanchothefat.com> <2B43703F-B681-4777-B8D4-236849026922@pha.hk> Message-ID: <Pine.LNX.4.62.0902041044150.952@hixie.dreamhostps.com> On Wed, 4 Feb 2009, Robert O'Rourke wrote: > > Are there any plans to bring list headers from HTML3 into HTML5? They'd > make a lot of markup patterns simpler and be very very useful when it > comes to styling. You can do this in HTML5, using <figure> and <legend>: <figure> <legend>A header for the list</legend> <ul> <li>List item</li> <li>List item</li> <li>List item</li> </ul> </figure> HTH, -- Ian Hickson U+1047E )\._.,--....,'``. fL http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,. Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.' From lachlan.hunt at lachy.id.au Wed Feb 4 02:50:03 2009 From: lachlan.hunt at lachy.id.au (Lachlan Hunt) Date: Wed, 04 Feb 2009 11:50:03 +0100 Subject: [whatwg] List Headers In-Reply-To: <6BC3A580-957F-481D-B9F8-7B7A13162601@pha.hk> References: <49896A54.2040607@sanchothefat.com> <6BC3A580-957F-481D-B9F8-7B7A13162601@pha.hk> Message-ID: <498972DB.1060107@lachy.id.au> Christian Svindseth wrote: > On Feb 4, 2009, at 11:13 AM, Robert O'Rourke wrote: >> Are there any plans to bring list headers from HTML3 into HTML5? >> They'd make a lot of markup patterns simpler and be very very useful >> when it comes to styling. >> >> http://www.w3.org/MarkUp/html3/listheader.html > > Unless I'm misreading the spec completely, HTML5 supports h1-h6, and > even header elements inside list items. While you can include headings within li elements, that's different from what the lh element in HTML3, or even the label element in XHTML2, were designed for. I believe the use case is providing a title indicating the content of the list, but where the title itself shouldn't contribute to the document's outline. In HTML5, the only way to do this is to precede a list with an heading (h1-h6) element. As an example of this, consider the element summaries in the HTML 5 Reference, the attribute list has the heading Attributes, but that heading is not meant to affect the document's outline and doesn't appear in the TOC. I had to use class="no-num no-toc", which is recognised by anolis (the spec's pre-processor tool), to avoid it being included in the TOC. http://dev.w3.org/html5/html-author/#the-elements But note that the issue itself doesn't affect just lists. The same issue occurs for the DOM Interfaces sections, but that content isn't marked up as a list, and I'm also considering changing the attributes to use a table instead of a list, providing the attributes and associated descriptions. So I do not believe introducing the LH element from HTML3 would adequately address the use case. It's possible that what could be needed is an element that can contain the heading and its associated content, and behaves as a sectioning root: "Certain elements are said to be sectioning roots, including blockquote and td elements. These elements can have their own outlines, but the sections and headers inside these elements do not contribute to the outlines of their ancestors." http://www.whatwg.org/specs/web-apps/current-work/#sectioning-root It's possible that the figure element could be used for this purpose, as it is already a sectioning root, in which case we wouldn't need to add anything new to address this use case. Though it's not entirely clear to me whether the figure element's meaning allows for this case. -- Lachlan Hunt - Opera Software http://lachy.id.au/ http://www.opera.com/ From rob at sanchothefat.com Wed Feb 4 02:50:37 2009 From: rob at sanchothefat.com (Robert O'Rourke) Date: Wed, 04 Feb 2009 10:50:37 +0000 Subject: [whatwg] List Headers In-Reply-To: <2B43703F-B681-4777-B8D4-236849026922@pha.hk> References: <49896A54.2040607@sanchothefat.com> <6BC3A580-957F-481D-B9F8-7B7A13162601@pha.hk> <49896C99.6000001@sanchothefat.com> <2B43703F-B681-4777-B8D4-236849026922@pha.hk> Message-ID: <498972FD.4040708@sanchothefat.com> Christian Svindseth wrote: > > On Feb 4, 2009, at 11:23 AM, Robert O'Rourke wrote: > >>> Unless I'm misreading the spec completely, HTML5 supports h1-h6, and >>> even header elements inside list items. >>> >>> -Chris >>> >> >> I know that, I was referring to the <lh> element ie. >> >> <ul> >> <lh>A header for the list</lh> >> <li>List item</li> >> <li>List item</li> >> <li>List item</li> >> </ul> >> > > Ah, I see. Sorry about that. > > My first thought is that allowing the existing header elements > directly inside the ul would make more sense, but I could be missing > something. > > There doesn't seem to be any significant semantic difference between > the lh element and the ones already in the spec. > > -Chris > No problem. It's true they're not too different but there are cases where you may want a heading on a list but it doesn't necessarily constitute a tier of the document on it's own. It's my understanding that <h1> - <h6> are more for structure. Perhaps if <h1> to <h6> were allowed immediately inside of a list it would be useful to HTML authors anyway but <lh> would be semantically perfect for the job and also provide a dicrete element away from other headers for styling. Thought it was worth suggesting here anyway. -Rob From lachlan.hunt at lachy.id.au Wed Feb 4 03:00:26 2009 From: lachlan.hunt at lachy.id.au (Lachlan Hunt) Date: Wed, 04 Feb 2009 12:00:26 +0100 Subject: [whatwg] List Headers In-Reply-To: <Pine.LNX.4.62.0902041044150.952@hixie.dreamhostps.com> References: <49896A54.2040607@sanchothefat.com> <6BC3A580-957F-481D-B9F8-7B7A13162601@pha.hk> <49896C99.6000001@sanchothefat.com> <2B43703F-B681-4777-B8D4-236849026922@pha.hk> <Pine.LNX.4.62.0902041044150.952@hixie.dreamhostps.com> Message-ID: <4989754A.3010604@lachy.id.au> Ian Hickson wrote: > On Wed, 4 Feb 2009, Robert O'Rourke wrote: >> Are there any plans to bring list headers from HTML3 into HTML5? They'd >> make a lot of markup patterns simpler and be very very useful when it >> comes to styling. > > You can do this in HTML5, using <figure> and <legend>: > > <figure> > <legend>A header for the list</legend> > <ul> > <li>List item</li> > <li>List item</li> > <li>List item</li> > </ul> > </figure> Since figure is a sectioning root, a heading element could also be used here and it wouldn't affect the outline. Please add an example of this use case to the spec. -- Lachlan Hunt - Opera Software http://lachy.id.au/ http://www.opera.com/ From rob at sanchothefat.com Wed Feb 4 02:58:30 2009 From: rob at sanchothefat.com (Robert O'Rourke) Date: Wed, 04 Feb 2009 10:58:30 +0000 Subject: [whatwg] List Headers In-Reply-To: <Pine.LNX.4.62.0902041044150.952@hixie.dreamhostps.com> References: <49896A54.2040607@sanchothefat.com> <6BC3A580-957F-481D-B9F8-7B7A13162601@pha.hk> <49896C99.6000001@sanchothefat.com> <2B43703F-B681-4777-B8D4-236849026922@pha.hk> <Pine.LNX.4.62.0902041044150.952@hixie.dreamhostps.com> Message-ID: <498974D6.2000100@sanchothefat.com> Ian Hickson wrote: > On Wed, 4 Feb 2009, Robert O'Rourke wrote: > >> Are there any plans to bring list headers from HTML3 into HTML5? They'd >> make a lot of markup patterns simpler and be very very useful when it >> comes to styling. >> > > You can do this in HTML5, using <figure> and <legend>: > > <figure> > <legend>A header for the list</legend> > <ul> > <li>List item</li> > <li>List item</li> > <li>List item</li> > </ul> > </figure> > > HTH, > Thanks Ian, and thanks to Lachlan and Christian for discussing it and helping to clear some things up for me. It's going to take me a while to get used to the more creative uses of the new HTML5 elements! Thanks again. -Rob From julian.reschke at gmx.de Wed Feb 4 05:42:03 2009 From: julian.reschke at gmx.de (Julian Reschke) Date: Wed, 04 Feb 2009 14:42:03 +0100 Subject: [whatwg] List Headers In-Reply-To: <Pine.LNX.4.62.0902041044150.952@hixie.dreamhostps.com> References: <49896A54.2040607@sanchothefat.com> <6BC3A580-957F-481D-B9F8-7B7A13162601@pha.hk> <49896C99.6000001@sanchothefat.com> <2B43703F-B681-4777-B8D4-236849026922@pha.hk> <Pine.LNX.4.62.0902041044150.952@hixie.dreamhostps.com> Message-ID: <49899B2B.9020506@gmx.de> Ian Hickson wrote: > On Wed, 4 Feb 2009, Robert O'Rourke wrote: >> Are there any plans to bring list headers from HTML3 into HTML5? They'd >> make a lot of markup patterns simpler and be very very useful when it >> comes to styling. > > You can do this in HTML5, using <figure> and <legend>: > > <figure> > <legend>A header for the list</legend> > <ul> > <li>List item</li> > <li>List item</li> > <li>List item</li> > </ul> > </figure> Hm. <http://dev.w3.org/html5/spec/Overview.html#the-figure-element>: "The figure element represents some flow content, optionally with a caption, which can be moved away from the main flow of the document without affecting the document's meaning." I don't think this is usually the case for a list. BR, Julian From rob at sanchothefat.com Wed Feb 4 06:17:45 2009 From: rob at sanchothefat.com (Robert O'Rourke) Date: Wed, 04 Feb 2009 14:17:45 +0000 Subject: [whatwg] List Headers In-Reply-To: <49899B2B.9020506@gmx.de> References: <49896A54.2040607@sanchothefat.com> <6BC3A580-957F-481D-B9F8-7B7A13162601@pha.hk> <49896C99.6000001@sanchothefat.com> <2B43703F-B681-4777-B8D4-236849026922@pha.hk> <Pine.LNX.4.62.0902041044150.952@hixie.dreamhostps.com> <49899B2B.9020506@gmx.de> Message-ID: <4989A389.4030500@sanchothefat.com> Julian Reschke wrote: > Ian Hickson wrote: >> On Wed, 4 Feb 2009, Robert O'Rourke wrote: >>> Are there any plans to bring list headers from HTML3 into HTML5? >>> They'd make a lot of markup patterns simpler and be very very useful >>> when it comes to styling. >> >> You can do this in HTML5, using <figure> and <legend>: >> >> <figure> >> <legend>A header for the list</legend> >> <ul> >> <li>List item</li> >> <li>List item</li> >> <li>List item</li> >> </ul> >> </figure> > > Hm. > > <http://dev.w3.org/html5/spec/Overview.html#the-figure-element>: > > "The figure element represents some flow content, optionally with a > caption, which can be moved away from the main flow of the document > without affecting the document's meaning." > > I don't think this is usually the case for a list. > > BR, Julian > The BBC do it in articles all the time, little asides that are quoted in the story but presented in a data/extra info context to back it up. -Rob From bhawkeslewis at googlemail.com Wed Feb 4 06:48:03 2009 From: bhawkeslewis at googlemail.com (Benjamin Hawkes-Lewis) Date: Wed, 04 Feb 2009 14:48:03 +0000 Subject: [whatwg] List Headers In-Reply-To: <49899B2B.9020506@gmx.de> References: <49896A54.2040607@sanchothefat.com> <6BC3A580-957F-481D-B9F8-7B7A13162601@pha.hk> <49896C99.6000001@sanchothefat.com> <2B43703F-B681-4777-B8D4-236849026922@pha.hk> <Pine.LNX.4.62.0902041044150.952@hixie.dreamhostps.com> <49899B2B.9020506@gmx.de> Message-ID: <4989AAA3.3070301@googlemail.com> On 4/2/09 13:42, Julian Reschke wrote: > <http://dev.w3.org/html5/spec/Overview.html#the-figure-element>: > > "The figure element represents some flow content, optionally with a > caption, which can be moved away from the main flow of the document > without affecting the document's meaning." > > I don't think this is usually the case for a list. I'm not saying you're wrong, but it would help if someone could dig up real examples of lists that: 1. Need a label that is not a section heading. _and_ 2. Could not be moved away from the main flow of the document without affecting the document's meaning. Then we could be sure we're solving a real problem. -- Benjamin Hawkes-Lewis From ian at hixie.ch Wed Feb 4 11:23:04 2009 From: ian at hixie.ch (Ian Hickson) Date: Wed, 4 Feb 2009 19:23:04 +0000 (UTC) Subject: [whatwg] List Headers In-Reply-To: <49899B2B.9020506@gmx.de> References: <49896A54.2040607@sanchothefat.com> <6BC3A580-957F-481D-B9F8-7B7A13162601@pha.hk> <49896C99.6000001@sanchothefat.com> <2B43703F-B681-4777-B8D4-236849026922@pha.hk> <Pine.LNX.4.62.0902041044150.952@hixie.dreamhostps.com> <49899B2B.9020506@gmx.de> Message-ID: <Pine.LNX.4.62.0902041922170.952@hixie.dreamhostps.com> On Wed, 4 Feb 2009, Julian Reschke wrote: > > > > You can do this in HTML5, using <figure> and <legend>: > > > > <figure> > > <legend>A header for the list</legend> > > <ul> > > <li>List item</li> > > <li>List item</li> > > <li>List item</li> > > </ul> > > </figure> > > "The figure element represents some flow content, optionally with a > caption, which can be moved away from the main flow of the document > without affecting the document's meaning." > > I don't think this is usually the case for a list. As Benjamin implied, I think it actually _is_ the case for lists that have headers. Counter-examples would be useful though. -- Ian Hickson U+1047E )\._.,--....,'``. fL http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,. Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.' From dhtmlkitchen at gmail.com Wed Feb 4 12:34:40 2009 From: dhtmlkitchen at gmail.com (Garrett Smith) Date: Wed, 4 Feb 2009 12:34:40 -0800 Subject: [whatwg] List Headers In-Reply-To: <Pine.LNX.4.62.0902041044150.952@hixie.dreamhostps.com> References: <49896A54.2040607@sanchothefat.com> <6BC3A580-957F-481D-B9F8-7B7A13162601@pha.hk> <49896C99.6000001@sanchothefat.com> <2B43703F-B681-4777-B8D4-236849026922@pha.hk> <Pine.LNX.4.62.0902041044150.952@hixie.dreamhostps.com> Message-ID: <c9e12660902041234j454380bfv3e3900cff94e792@mail.gmail.com> On Wed, Feb 4, 2009 at 2:45 AM, Ian Hickson <ian at hixie.ch> wrote: > On Wed, 4 Feb 2009, Robert O'Rourke wrote: >> >> Are there any plans to bring list headers from HTML3 into HTML5? They'd >> make a lot of markup patterns simpler and be very very useful when it >> comes to styling. > > You can do this in HTML5, using <figure> and <legend>: > > <figure> > <legend>A header for the list</legend> > <ul> > <li>List item</li> > <li>List item</li> > <li>List item</li> > </ul> > </figure> > The results of this example vary. Firefox 3 adds a border around the list as a result of the legend element. It looks as if Firefox added an anonymous "fieldset" (though I don't know if that is what happened). Other browsers do not do that. The figure element is used to annotate a section that could be moved away from the main document. The <figure> element is like <section>, but it indicates that the section can be removed from the document and the contents will still have semantic meaning, similar to the <article> element. Garrett From dhtmlkitchen at gmail.com Wed Feb 4 12:39:41 2009 From: dhtmlkitchen at gmail.com (Garrett Smith) Date: Wed, 4 Feb 2009 12:39:41 -0800 Subject: [whatwg] List Headers In-Reply-To: <498972DB.1060107@lachy.id.au> References: <49896A54.2040607@sanchothefat.com> <6BC3A580-957F-481D-B9F8-7B7A13162601@pha.hk> <498972DB.1060107@lachy.id.au> Message-ID: <c9e12660902041239n395f3c18o1e76441049e7b03c@mail.gmail.com> On Wed, Feb 4, 2009 at 2:50 AM, Lachlan Hunt <lachlan.hunt at lachy.id.au> wrote: > Christian Svindseth wrote: >> >> On Feb 4, 2009, at 11:13 AM, Robert O'Rourke wrote: >>> >>> Are there any plans to bring list headers from HTML3 into HTML5? They'd >>> make a lot of markup patterns simpler and be very very useful when it comes >>> to styling. >>> >>> http://www.w3.org/MarkUp/html3/listheader.html >> >> Unless I'm misreading the spec completely, HTML5 supports h1-h6, and even >> header elements inside list items. > > While you can include headings within li elements, that's different from > what the lh element in HTML3, or even the label element in XHTML2, were > designed for. > > I believe the use case is providing a title indicating the content of the > list, but where the title itself shouldn't contribute to the document's > outline. In HTML5, the only way to do this is to precede a list with an > heading (h1-h6) element. > > As an example of this, consider the element summaries in the HTML 5 > Reference, the attribute list has the heading Attributes, but that heading > is not meant to affect the document's outline and doesn't appear in the TOC. > I had to use class="no-num no-toc", which is recognised by anolis (the > spec's pre-processor tool), to avoid it being included in the TOC. > > http://dev.w3.org/html5/html-author/#the-elements > > But note that the issue itself doesn't affect just lists. The same issue > occurs for the DOM Interfaces sections, but that content isn't marked up as > a list, and I'm also considering changing the attributes to use a table > instead of a list, providing the attributes and associated descriptions. > Is this what you are referring to:- | <h4 id="reflecting-content-attributes-in-dom-attributes" | ><span class="secno">2.8.1 </span>Reflecting content attributes in | DOM attributes</h4> ? That is not marked up as a list; it uses an H4. I don't see the similarity to the problem of wanting to have a header within a list. The LH or element is used specifically to provide a title for a list. The HTML 3 spec says: | Permitted Context: Immediately following UL, OL or DL Browsers do allow adding the lh anywhere inside the list. Example:- <!DOCTYPE HTML> <html lang="en"> <head> <title>list header

Ingredients

    Dry:
  1. 1c flour
  2. 1/4c sugar
  3. 1tsp baking soda
  4. Wet:
  5. 1 egg
  6. 1/2c milk
  7. 1tsp vanilla extract
Is rendered in FF3, Saf2,3, Op 9:- Dry: 1. 1c flour 2. 1/4c sugar 3. 1tsp baking soda Wet: 4. 1 egg 5. 1/2c milk 6. 1tsp vanilla extract The HTML5
element does not allow for subsections in the list. From bzbarsky at MIT.EDU Wed Feb 4 13:01:03 2009 From: bzbarsky at MIT.EDU (Boris Zbarsky) Date: Wed, 04 Feb 2009 16:01:03 -0500 Subject: [whatwg] List Headers In-Reply-To: References: <49896A54.2040607@sanchothefat.com> <6BC3A580-957F-481D-B9F8-7B7A13162601@pha.hk> <49896C99.6000001@sanchothefat.com> <2B43703F-B681-4777-B8D4-236849026922@pha.hk> Message-ID: <498A020F.30603@mit.edu> Garrett Smith wrote: > Firefox 3 adds a border around the list as a result of the legend > element. It looks as if Firefox added an anonymous "fieldset" It's not anonymous. The HTML parser in Firefox actually creates a
element when it encounters a that's not inside a
. You can verify this by examining the DOM. We do plan to fix this parser issue. -Boris From bhawkeslewis at googlemail.com Wed Feb 4 13:03:35 2009 From: bhawkeslewis at googlemail.com (Benjamin Hawkes-Lewis) Date: Wed, 04 Feb 2009 21:03:35 +0000 Subject: [whatwg] List Headers In-Reply-To: References: <49896A54.2040607@sanchothefat.com> <6BC3A580-957F-481D-B9F8-7B7A13162601@pha.hk> <498972DB.1060107@lachy.id.au> Message-ID: <498A02A7.9050904@googlemail.com> On 4/2/09 20:39, Garrett Smith wrote: >
    > Dry: >
  1. 1c flour
  2. >
  3. 1/4c sugar
  4. >
  5. 1tsp baking soda
  6. > Wet: >
  7. 1 egg
  8. >
  9. 1/2c milk
  10. >
  11. 1tsp vanilla extract
  12. >
Hmm. Does that markup solve any user problems that following traditional, markup does not?
  1. Dry:
    1. 1c flour
    2. 1/4c sugar
    3. 1tsp baking soda
  2. Wet:
    1. 1 egg
    2. 1/2c milk
    3. 1tsp vanilla extract
Pros of lh: * User agents could give a different default style to "LH" (e.g. bold in a visual medium, or reading "list header" in an speech medium). * Fewer bytes. Pros of traditional markup: * Can style sublists without introducing new features to CSS. * Works correctly in existing user agents (e.g. list navigation in screen readers). -- Benjamin Hawkes-Lewis From ian at hixie.ch Wed Feb 4 13:04:23 2009 From: ian at hixie.ch (Ian Hickson) Date: Wed, 4 Feb 2009 21:04:23 +0000 (UTC) Subject: [whatwg] List Headers In-Reply-To: References: <49896A54.2040607@sanchothefat.com> <6BC3A580-957F-481D-B9F8-7B7A13162601@pha.hk> <498972DB.1060107@lachy.id.au> Message-ID: On Wed, 4 Feb 2009, Garrett Smith wrote: > > Example:- > > > > > list header > > >

Ingredients

>
    > Dry: >
  1. 1c flour
  2. >
  3. 1/4c sugar
  4. >
  5. 1tsp baking soda
  6. > Wet: >
  7. 1 egg
  8. >
  9. 1/2c milk
  10. >
  11. 1tsp vanilla extract
  12. >
> > Just use two lists in a
:
Dry:
  • 1c flour
  • 1/4c sugar
  • 1tsp baking soda
Wet:
  • 1 egg
  • 1/2c milk
  • 1tsp vanilla extract
-- Ian Hickson U+1047E )\._.,--....,'``. fL http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,. Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.' From ian at hixie.ch Wed Feb 4 13:11:26 2009 From: ian at hixie.ch (Ian Hickson) Date: Wed, 4 Feb 2009 21:11:26 +0000 (UTC) Subject: [whatwg] List Headers In-Reply-To: <498A02A7.9050904@googlemail.com> References: <49896A54.2040607@sanchothefat.com> <6BC3A580-957F-481D-B9F8-7B7A13162601@pha.hk> <498972DB.1060107@lachy.id.au> <498A02A7.9050904@googlemail.com> Message-ID: On Wed, 4 Feb 2009, Benjamin Hawkes-Lewis wrote: > > Pros of lh: > > * User agents could give a different default style to "LH" (e.g. bold in a > visual medium, or reading "list header" in an speech medium). > * Fewer bytes. > > Pros of traditional markup: > > * Can style sublists without introducing new features to CSS. > * Works correctly in existing user agents (e.g. list navigation in screen > readers). There is also the issue that changing the parsing rules around
  • is difficult. For example, the following:
      Fruit
    1. Apple
    2. Pear Vegetables
    3. Carrot
    4. Celery
    ...looks like it should work, but in practice the element for Vegetables would end up inside the Pear
  • element, and changing that would likely be problematic. Given the variety of alternatives to that already exist in HTML4 and that have been introduced in HTML5, I do not propose to add . -- Ian Hickson U+1047E )\._.,--....,'``. fL http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,. Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.' From lachlan.hunt at lachy.id.au Wed Feb 4 13:55:44 2009 From: lachlan.hunt at lachy.id.au (Lachlan Hunt) Date: Wed, 04 Feb 2009 22:55:44 +0100 Subject: [whatwg] List Headers In-Reply-To: References: <49896A54.2040607@sanchothefat.com> <6BC3A580-957F-481D-B9F8-7B7A13162601@pha.hk> <498972DB.1060107@lachy.id.au> Message-ID: <498A0EE0.907@lachy.id.au> Garrett Smith wrote: > On Wed, Feb 4, 2009 at 2:50 AM, Lachlan Hunt wrote: >> As an example of this, consider the element summaries in the HTML 5 >> Reference, the attribute list has the heading Attributes, but that heading >> is not meant to affect the document's outline and doesn't appear in the TOC. >> I had to use class="no-num no-toc", which is recognised by anolis (the >> spec's pre-processor tool), to avoid it being included in the TOC. >> >> http://dev.w3.org/html5/html-author/#the-elements >> >> But note that the issue itself doesn't affect just lists. The same issue >> occurs for the DOM Interfaces sections, but that content isn't marked up as >> a list, and I'm also considering changing the attributes to use a table >> instead of a list, providing the attributes and associated descriptions. > > Is this what you are referring to:- > > |

    | >2.8.1 Reflecting content attributes in > | DOM attributes

    > > ? No, you're looking at the wrong document. I was talking about the markup I used in the HTML Reference, not what's being used in the spec.
    Attributes
    • Global attributes
    • ...
    DOM Interface
    • interface ... {
      ...
      };
    -- Lachlan Hunt - Opera Software http://lachy.id.au/ http://www.opera.com/ From derernst at gmx.ch Thu Feb 5 00:18:03 2009 From: derernst at gmx.ch (Markus Ernst) Date: Thu, 05 Feb 2009 09:18:03 +0100 Subject: [whatwg] List Headers In-Reply-To: <498A02A7.9050904@googlemail.com> References: <49896A54.2040607@sanchothefat.com> <6BC3A580-957F-481D-B9F8-7B7A13162601@pha.hk> <498972DB.1060107@lachy.id.au> <498A02A7.9050904@googlemail.com> Message-ID: <498AA0BB.9030501@gmx.ch> Benjamin Hawkes-Lewis schrieb: > On 4/2/09 20:39, Garrett Smith wrote: >>
      >> Dry: >>
    1. 1c flour
    2. >>
    3. 1/4c sugar
    4. >>
    5. 1tsp baking soda
    6. >> Wet: >>
    7. 1 egg
    8. >>
    9. 1/2c milk
    10. >>
    11. 1tsp vanilla extract
    12. >>
    > > Hmm. > > Does that markup solve any user problems that following traditional, > markup does not? > >
      >
    1. Dry: >
        >
      1. 1c flour
      2. >
      3. 1/4c sugar
      4. >
      5. 1tsp baking soda
      6. >
      >
    2. >
    3. Wet: >
        >
      1. 1 egg
      2. >
      3. 1/2c milk
      4. >
      5. 1tsp vanilla extract
      6. >
      >
    4. >
    A different use case in the same problem field: Often you have lists that are actually part of a paragraph, but cannot be correctly associated with the paragraph:

    Text before ...

    There are lots of fruits available, e.g.:

    • Apples
    • Pears

    More Text...

    More appropriate markup for this could be achieved with the LH suggestion:

    Text before ...

      There are lots of fruits available, e.g.:
    • Apples
    • Pears

    More Text...

    Anyway I would consider it even more appropriate to allow the list inside a paragraph:

    Text before ...

    There are lots of fruits available, e.g.:

    • Apples
    • Pears

    More Text...

    But I admit I have no idea what other problems this could cause. From bhawkeslewis at googlemail.com Thu Feb 5 01:08:14 2009 From: bhawkeslewis at googlemail.com (Benjamin Hawkes-Lewis) Date: Thu, 05 Feb 2009 09:08:14 +0000 Subject: [whatwg] List Headers In-Reply-To: <498AA0BB.9030501@gmx.ch> References: <49896A54.2040607@sanchothefat.com> <6BC3A580-957F-481D-B9F8-7B7A13162601@pha.hk> <498972DB.1060107@lachy.id.au> <498A02A7.9050904@googlemail.com> <498AA0BB.9030501@gmx.ch> Message-ID: <498AAC7E.4080009@googlemail.com> On 5/2/09 08:18, Markus Ernst wrote: > A different use case in the same problem field: Often you have lists > that are actually part of a paragraph, but cannot be correctly > associated with the paragraph: > >

    Text before ...

    >

    There are lots of fruits available, e.g.:

    >
      >
    • Apples
    • >
    • Pears
    • >
    >

    More Text...

    > > More appropriate markup for this could be achieved with the LH suggestion: > >

    Text before ...

    >
      > There are lots of fruits available, e.g.: >
    • Apples
    • >
    • Pears
    • >
    >

    More Text...

    > > Anyway I would consider it even more appropriate to allow the list > inside a paragraph: >

    Text before ...

    >

    There are lots of fruits available, e.g.: >

      >
    • Apples
    • >
    • Pears
    • >
    >

    >

    More Text...

    > > But I admit I have no idea what other problems this could cause. I agree (?) that the use case you raise is not "list headers" but lists inside paragraphs, and I agree that nested block content can legitimately be placed inside a paragraph - it certainly is in print. Other examples of legitimately nested content would include quotations and perhaps tables. But HTML5 cannot allow "ul" (or "blockquote" or "table") as children of "p" in the text/html serialization because legacy content relies on "p" end-tag insertion before those block element's start tags. In other words, web-corpus-compatible parsers need to parse the above as equivalent to:

    Text before ...

    There are lots of fruits available, e.g.:

    • Apples
    • Pears

    More Text...

    HTML5's definition of how to interpret non-"p" content as "paragraphs" excludes using any alternate wrapper (e.g. "div") to wrap the text and the "ul" as one semantic paragraph. http://www.whatwg.org/specs/web-apps/current-work/#paragraphs
    Hamlet said:

    To be or not to be, that is the question

    ? and lots of other things.
    is to be interpreted as three serial paragraphs not one paragraph with a paragraph in a nested quotation. Using a "div" wrapper or adding a class ("continuation"?) to nested and continuing fragments will at least allow authors to emulate print conventions with CSS, however. I believe nesting blocks inside "p" elements is currently allowed in the XML serialization, however, since HTML5 does not face the same web-corpus-parsing constraints there. -- Benjamin Hawkes-Lewis From mail at tobyinkster.co.uk Thu Feb 5 14:23:42 2009 From: mail at tobyinkster.co.uk (Toby A Inkster) Date: Thu, 5 Feb 2009 22:23:42 +0000 Subject: [whatwg] List Headers Message-ID: <185A3146-8241-44D9-A45F-D587F9DDB9C6@tobyinkster.co.uk> Ian Hickson wrote: > ...looks like it should work, but in practice the element for > Vegetables would end up inside the Pear
  • element, and changing > that > would likely be problematic. ... because of the vast number of existing pages that rely on elements being parsed inside
  • elements? -- Toby A Inkster From ian at hixie.ch Thu Feb 5 14:33:03 2009 From: ian at hixie.ch (Ian Hickson) Date: Thu, 5 Feb 2009 22:33:03 +0000 (UTC) Subject: [whatwg] List Headers In-Reply-To: <185A3146-8241-44D9-A45F-D587F9DDB9C6@tobyinkster.co.uk> References: <185A3146-8241-44D9-A45F-D587F9DDB9C6@tobyinkster.co.uk> Message-ID: On Thu, 5 Feb 2009, Toby A Inkster wrote: > Ian Hickson wrote: > > > ...looks like it should work, but in practice the element for > > Vegetables would end up inside the Pear
  • element, and changing > > that would likely be problematic. > > ... because of the vast number of existing pages that rely on > elements being parsed inside
  • elements? More because of the conflict between how pages would be parsed (and thus styled) in new browsers vs legacy browsers. For example, look at the problems that introducing
    (or worse,
    ) has caused. Changing the parser rules is a very expensive proposition. -- Ian Hickson U+1047E )\._.,--....,'``. fL http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,. Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.' From scampa.giovanni at gmail.com Fri Feb 6 09:54:52 2009 From: scampa.giovanni at gmail.com (Giovanni Campagna) Date: Fri, 6 Feb 2009 18:54:52 +0100 Subject: [whatwg] [html5] Rendering of interactive content Message-ID: <65307430902060954m5bd2c76ale51adb6db4d75040@mail.gmail.com> I'm proposing to replace the current rendering mechanism, based on Behavioural Extension to CSS, that in turn is based on XBL2, with something based on the CSS3 Basic User Interface (css3-ui), ie replacing the binding: property with appropriate appearance: property directly on the element, instead of relying on the binding itself. This in particular applies to the button, input, select and textarea. Something like this could be included: button,input[type=submit],input[type=button],input[type=reset] { appearance:push-button; } input[type=submit],input[type=button],input[type=reset] { content:attr(value,string,contents); } input { appearance:field; border-width: calc(attr(size,px,0) / 2); /* presentational hint */ } input[type=password] { appearance:password; } input[type=url]::outside::after { appearance:push-button; content:icon; icon: url(); } /* the current appearance in Opera */ input[type=range] { appearance:range; /* Webkit uses a proprietary -webkit-slider-horizontal for this */ } input[type=checkbox] { appearance:checkbox; } input[type=radio] { appearance:radiobutton; } input[type=file]::outside::after { appearance:push-button; content: "Browse..."; } select[size] { appearance:list-menu; } select,select[size=1] { appearance:pop-up-menu; } The advantage of appearance vs binding is that: 1) you don't need an additional pass before applying the correct platform-specific widget style 2) you depend on css3-ui, in CR stage, instead of becss, a very early WD 3) you don't block the binding property: I don't expect that applying an XBL binding on an element causes it to appear like a span (because it gets almost no default CSS) 4) you keep the appearance property working: current UA (Firefox and Safari at least) already implement appearance, and correctly set it on the input element. This could no longer be possible using XBL, because of the CSS inheritance model inside XBL (if you apply to appearance to some part of the shadow tree, it is not visible on the bound element) 5) becss requires "one or more binding languages": it is not necessarily XBL2, but currently XBL2 is the only one available: are you constraining the implementation of HTML5 on that of XBL2? ~ o ~ A part from that, I would like to propose the following CSS for some missing parts: marquee[behaviour=slide] { marquee-style:slide; } marquee[behaviour=scroll] { marquee-style:scroll; } marquee[behaviour=alternate] { marquee-style:slide; } marquee[direction=left] { marquee-direction:forward; overflow-style:marquee-line; } marquee[direction=right] { marquee-direction:backward; overflow-style:marquee-line; } marquee[direction=up] { marquee-direction:backward; overflow-style:marquee-block; } marquee[direction=down] { marquee-direction:forward; overflow-style:marquee-block; } marquee[loop] { marquee-play-count: attr(loop,integer,initial); } (This obviously means that we need a definition of marquee accepting attributes behaviour = (slide | scroll | alternate), direction = (left | right | up | down), loop = . Info found from MSDN). progress { display:block; content:none; background-color:green; width: calc(1% * attr(value,number,0) / attr(max,number,1) ); } progress::outside { display:block; text-align:center; width:auto; content:contents; } progress:empty::outside { content:calc(attr(value,number,0) / attr(max,number,1) * 100) "%"; } The same could apply for meter as well, except for the handling of optimal and suboptimal parts. menu[type=toolbar] { appearance:menu-bar; /* are menu bars visually different from tool bars? */ } menu[type=context]:active { appearance:menu; display:block; /* may be actually implied by appearance:menu */ } menu[type=toolbar] > menu::outside::before, menu[type=toolbar] > select::outside::before, menu[type=toolbar] > menu::outside::after, menu[type=toolbar] > select::outside::after, menu[type=toolbar] > hr, menu[type=toolbar] > option[value=]:disabled, menu[type=context] > menu::outside::before, menu[type=context] > select::outside::before, menu[type=toolbar] > menu::outside::after, menu[type=toolbar] > select::outside::after, menu[type=context] > hr, menu[type=context] > option[value=]:disabled { /* separators */ display:block; content:""; border: 1px solid ThreeDFace; width:0px; } menu[type=toolbar] > menu[label], menu[type=toolbar] > optgroup[label], menu[type=context] > menu[label], menu[type=context] > optgroup[label] { appearance:pull-down-menu; /* actually, where are we supposed to specify the label? */ } menu[type=toolbar] a, menu[type=toolbar] button, menu[type=toolbar] input[type=submit], menu[type=toolbar] input[type=reset], menu[type=toolbar] input[type=button], menu[type=toolbar] input[type=checkbox], menu[type=toolbar] input[type=radio], menu[type=toolbar] select option, menu[type=toolbar] command, menu[type=toolbar] bb, menu[type=context] a, menu[type=context] button, menu[type=context] input[type=submit], menu[type=context] input[type=reset], menu[type=context] input[type=button], menu[type=context] input[type=checkbox], menu[type=context] input[type=radio], menu[type=toolbar] select option, menu[type=context] command, menu[type=context] bb { /* commands */ appearance:menu-item; } I hope that this will help a bit the editor. Giovanni -------------- next part -------------- An HTML attachment was scrubbed... URL: From ian at hixie.ch Fri Feb 6 10:46:49 2009 From: ian at hixie.ch (Ian Hickson) Date: Fri, 6 Feb 2009 18:46:49 +0000 (UTC) Subject: [whatwg] [html5] Rendering of interactive content In-Reply-To: <65307430902060954m5bd2c76ale51adb6db4d75040@mail.gmail.com> References: <65307430902060954m5bd2c76ale51adb6db4d75040@mail.gmail.com> Message-ID: On Fri, 6 Feb 2009, Giovanni Campagna wrote: > > I'm proposing to replace the current rendering mechanism, based on > Behavioural Extension to CSS, that in turn is based on XBL2, with > something based on the CSS3 Basic User Interface (css3-ui), ie replacing > the binding: property with appropriate appearance: property directly on > the element, instead of relying on the binding itself. The two properties are orthogonal -- 'binding' sets the behavior, 'appearance' sets the look-and-feel. > The advantage of appearance vs binding is that: > 1) you don't need an additional pass before applying the correct > platform-specific widget style With UA-native bindings, you wouldn't need an additional pass either. > 2) you depend on css3-ui, in CR stage, instead of becss, a very early WD BECSS is actually probably more stable than CSS3 UI at this point. > 3) you don't block the binding property: I don't expect that applying an XBL > binding on an element causes it to appear like a span (because it gets > almost no default CSS) This is actually intentional. Experience with elements like
    that have styles that aren't expressed in CSS is that you end up not being able to restyle them properly if you desire. With 'binding' we'd be able to knock out the whole default rendering (including weird things with the children) in one go. > 4) you keep the appearance property working: current UA (Firefox and Safari > at least) already implement appearance, and correctly set it on the input > element. This could no longer be possible using XBL, because of the CSS > inheritance model inside XBL (if you apply to appearance to some part of the > shadow tree, it is not visible on the bound element) I don't understand what you mean here. > 5) becss requires "one or more binding languages": it is not necessarily > XBL2, but currently XBL2 is the only one available: are you constraining > the implementation of HTML5 on that of XBL2? The rendering section has no actual requirements in it, so nothing is constrained. Furthermore, nothing requires the binding language used by the UA to actually be a real language, so long as it is triggered by the 'binding' property. Cheers, -- Ian Hickson U+1047E )\._.,--....,'``. fL http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,. Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.' From scampa.giovanni at gmail.com Sat Feb 7 06:22:23 2009 From: scampa.giovanni at gmail.com (Giovanni Campagna) Date: Sat, 7 Feb 2009 15:22:23 +0100 Subject: [whatwg] [html5] Rendering of interactive content In-Reply-To: References: <65307430902060954m5bd2c76ale51adb6db4d75040@mail.gmail.com> Message-ID: <65307430902070622x66b7bf83v6a7cf947cf3f35a8@mail.gmail.com> 2009/2/6 Ian Hickson > On Fri, 6 Feb 2009, Giovanni Campagna wrote: > > > > I'm proposing to replace the current rendering mechanism, based on > > Behavioural Extension to CSS, that in turn is based on XBL2, with > > something based on the CSS3 Basic User Interface (css3-ui), ie replacing > > the binding: property with appropriate appearance: property directly on > > the element, instead of relying on the binding itself. > > The two properties are orthogonal -- 'binding' sets the behavior, > 'appearance' sets the look-and-feel. > > I thought about it later, and I realized that you cannot style complex widgets without XBL (or something like that) because pseudo-elements are not reached by events. If they ever would, we would have horrible situations we have now. So for complex widgets (Number, File, Slider) it may be impossible to avoid a binding property, but anywhere it is possible you should try to use the available (appearance, content, icon, etc.). Even when using those, the author is able to shut them down, and knows perfectly which of them apply (they're defined normatively in HTML5 and they're exposed by browser tools for web dev). This allows for them to be selectively disabled, eg. to show BB without a button but with the native icon. What is more important, is that appearance normatively defines what properties from outside the appearance definition are allowed to interfere with the native look of the widget, binding does not. If author style sheets are not imported in XBL (apply-author-sheets="false"), they don't apply at all. > The advantage of appearance vs binding is that: > > 1) you don't need an additional pass before applying the correct > > platform-specific widget style > > With UA-native bindings, you wouldn't need an additional pass either. > The current spec says "User agents are encouraged to make their bindings set the 'appearance' CSS property appropriately to achieve platform-native appearances for widgets": this means that the binding should set appearance, and then appearance should make the widget look like a normal button. > > > 2) you depend on css3-ui, in CR stage, instead of becss, a very early WD > > BECSS is actually probably more stable than CSS3 UI at this point. > Why do you say so? Will CSS3 UI go back to Last Call or BECSS process to Last Call in the near future? I'm not sure. In the mean time, CSS3 UI is final, and waiting only for implementation. > > > 3) you don't block the binding property: I don't expect that applying an > XBL > > binding on an element causes it to appear like a span (because it gets > > almost no default CSS) > > This is actually intentional. Experience with elements like
    > that have styles that aren't expressed in CSS is that you end up not being > able to restyle them properly if you desire. With 'binding' we'd be able > to knock out the whole default rendering (including weird things with the > children) in one go. > The fact is that binding it the best way to apply a set of event handlers to an element. Having to tweak the computed style of a fieldset in order to find what properties are actually set and reproduce them in the binding, just to put a set of onchange handlers to lots of fieldset, does not look optimal. > > > 4) you keep the appearance property working: current UA (Firefox and > Safari > > at least) already implement appearance, and correctly set it on the input > > element. This could no longer be possible using XBL, because of the CSS > > inheritance model inside XBL (if you apply to appearance to some part of > the > > shadow tree, it is not visible on the bound element) > > I don't understand what you mean here. > I mean that Firefox and Safari set the appearance property on the widget element, and it is visible from outside, and dynamically changeable at run time. The binding property instead contains an opaque and UA specific value, that is not intended to be changed from JS (to switch back and forth between widget types) > > > 5) becss requires "one or more binding languages": it is not necessarily > > XBL2, but currently XBL2 is the only one available: are you constraining > > the implementation of HTML5 on that of XBL2? > > The rendering section has no actual requirements in it, so nothing is > constrained. Furthermore, nothing requires the binding language used by > the UA to actually be a real language, so long as it is triggered by the > 'binding' property. > "A number of elements have their rendering defined in terms of the 'binding' property" (HTML5, with normative reference to BECSS) No BECSS --> no rendering --> no interoperability "A user agent cannot comply to this specification without also supporting one or more binding languages such as XBL" (BECSS, with informative reference to XBL2) Do you know any other binding languages outside XBL or HTC (that uses behaviour instead of binding)? "*Computed Value:* specified value, with URIs resolved to absolute URIs " "When a specified URI cannot be used, e.g. due to network errors or because the specified binding is in an unsupported language, that specified URI must be ignored, without affecting the other URIs specified." This means that the binding property must be an absolute , indicating a network retrievable resource (no about: or urn: URI) in a supported language > > Cheers, > -- > Ian Hickson U+1047E )\._.,--....,'``. fL > http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,. > Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.' > Giovanni PS: did you find useful the remaining material, eg. menu, meter, marquee? -------------- next part -------------- An HTML attachment was scrubbed... URL: From bhawkeslewis at googlemail.com Sat Feb 7 10:44:23 2009 From: bhawkeslewis at googlemail.com (Benjamin Hawkes-Lewis) Date: Sat, 07 Feb 2009 18:44:23 +0000 Subject: [whatwg] [html5] Rendering of interactive content In-Reply-To: <65307430902070622x66b7bf83v6a7cf947cf3f35a8@mail.gmail.com> References: <65307430902060954m5bd2c76ale51adb6db4d75040@mail.gmail.com> <65307430902070622x66b7bf83v6a7cf947cf3f35a8@mail.gmail.com> Message-ID: <498DD687.7060303@googlemail.com> On 7/2/09 14:22, Giovanni Campagna wrote: > > 5) becss requires "one or more binding languages": it is not > necessarily > > XBL2, but currently XBL2 is the only one available: are you > constraining > > the implementation of HTML5 on that of XBL2? > > The rendering section has no actual requirements in it, so nothing is > constrained. Furthermore, nothing requires the binding language used by > the UA to actually be a real language, so long as it is triggered by the > 'binding' property. > > > "A number of elements have their rendering defined in terms of the > 'binding' property" (HTML5, with normative reference to BECSS) > No BECSS --> no rendering --> no interoperability The introduction to the rendering section says: 'User agents are not required present HTML documents in any particular way. However, this section provides a set of suggestions for rendering HTML documents that, if followed, are likely to lead to a user experience that closely resembles the experience intended by the documents' authors. So as to avoid confusion regarding the normativity of this section, RFC2119 terms have not been used. Instead, the term "expected" is used to indicate behavior that will lead to this experience.' http://www.whatwg.org/specs/web-apps/current-work/#rendering So the rendering section imposes *no* requirements on HTML5 conforming user agents, therefore the spec is not "constraining the implementation of HTML5 on that of XBL2". Furthermore, user agents are free to use any method they like to mimic the suggested rendering, including CSS3 UI where applicable. They don't have to use BE CSS at all. If this is not obvious from the text, perhaps you would like to suggest a change to the text that would make it clearer? -- Benjamin Hawkes-Lewis From scampa.giovanni at gmail.com Sat Feb 7 10:51:33 2009 From: scampa.giovanni at gmail.com (Giovanni Campagna) Date: Sat, 7 Feb 2009 19:51:33 +0100 Subject: [whatwg] [html5] Rendering of interactive content In-Reply-To: <498DD687.7060303@googlemail.com> References: <65307430902060954m5bd2c76ale51adb6db4d75040@mail.gmail.com> <65307430902070622x66b7bf83v6a7cf947cf3f35a8@mail.gmail.com> <498DD687.7060303@googlemail.com> Message-ID: <65307430902071051x639a5624j79284323e46f80ff@mail.gmail.com> 2009/2/7 Benjamin Hawkes-Lewis > On 7/2/09 14:22, Giovanni Campagna wrote: > >> > 5) becss requires "one or more binding languages": it is not >> necessarily >> > XBL2, but currently XBL2 is the only one available: are you >> constraining >> > the implementation of HTML5 on that of XBL2? >> >> The rendering section has no actual requirements in it, so nothing is >> constrained. Furthermore, nothing requires the binding language used by >> the UA to actually be a real language, so long as it is triggered by >> the >> 'binding' property. >> >> >> "A number of elements have their rendering defined in terms of the >> 'binding' property" (HTML5, with normative reference to BECSS) >> No BECSS --> no rendering --> no interoperability >> > > The introduction to the rendering section says: > > 'User agents are not required present HTML documents in any particular way. > However, this section provides a set of suggestions for rendering HTML > documents that, if followed, are likely to lead to a user experience that > closely resembles the experience intended by the documents' authors. So as > to avoid confusion regarding the normativity of this section, RFC2119 terms > have not been used. Instead, the term "expected" is used to indicate > behavior that will lead to this experience.' > > http://www.whatwg.org/specs/web-apps/current-work/#rendering > > So the rendering section imposes *no* requirements on HTML5 conforming user > agents, therefore the spec is not "constraining the implementation of HTML5 > on that of XBL2". Yes, but UA that don't follow that set of CSS rules are not interoperable with UA that follow, ie scripts must detect what properties are ignored or defaulted. > > > Furthermore, user agents are free to use any method they like to mimic the > suggested rendering, including CSS3 UI where applicable. They don't have to > use BE CSS at all. They're "expected" to use CSS, and I expect that, according to html5, "button { binding: initial; }" makes it like a . > > If this is not obvious from the text, perhaps you would like to suggest a > change to the text that would make it clearer? I don't agree with rendering being "optional". If interoperability is so important (and it is), rendering should be normative. Obviously I'm not asking to depend on CSS, I'm asking that "UA should act if the following CSS was specified" (even if it doesn't support CSS) > > -- > Benjamin Hawkes-Lewis > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bhawkeslewis at googlemail.com Sat Feb 7 11:24:53 2009 From: bhawkeslewis at googlemail.com (Benjamin Hawkes-Lewis) Date: Sat, 07 Feb 2009 19:24:53 +0000 Subject: [whatwg] [html5] Rendering of interactive content In-Reply-To: <65307430902071051x639a5624j79284323e46f80ff@mail.gmail.com> References: <65307430902060954m5bd2c76ale51adb6db4d75040@mail.gmail.com> <65307430902070622x66b7bf83v6a7cf947cf3f35a8@mail.gmail.com> <498DD687.7060303@googlemail.com> <65307430902071051x639a5624j79284323e46f80ff@mail.gmail.com> Message-ID: <498DE005.2070502@googlemail.com> On 7/2/09 18:51, Giovanni Campagna wrote: > So the rendering section imposes *no* requirements on HTML5 > conforming user agents, therefore the spec is not "constraining the > implementation of HTML5 on that of XBL2". > > > Yes, but UA that don't follow that set of CSS rules are not > interoperable with UA that follow, ie scripts must detect what > properties are ignored or defaulted. HTML5 conforming UAs do not have to implement CSS or CSSOM. CSSOM-implementing UAs do not have to do express all styling with CSS properties. When they do, you can query for those properties via the CSSOM. > Furthermore, user agents are free to use any method they like to > mimic the suggested rendering, including CSS3 UI where applicable. > They don't have to use BE CSS at all. > > They're "expected" to use CSS, and I expect that, according to html5, > "button { binding: initial; }" makes it like a . Is text I quoted not clear that the word "expected" is chosen precisely to make it clear that these are _not_ normative requirements? If so, could you suggest modifications to the text to make it even clearer? > If this is not obvious from the text, perhaps you would like to > suggest a change to the text that would make it clearer? > > I don't agree with rendering being "optional". If interoperability is so > important (and it is), rendering should be normative. How does that follow? And what do you mean by "rendering should be normative"? Are you suggesting, for example, that HTML5 should mandate unvisited links be blue and underlined in the screen medium unless set otherwise by a publisher stylesheet? That would prevent UAs providing a default presentation of semantic HTML that suits the end-user! Note that would prevent UAs complying with W3C's user-agent accessibility guidelines: http://www.w3.org/TR/WAI-USERAGENT/guidelines.html#gl-user-control-styles -- Benjamin Hawkes-Lewis From scampa.giovanni at gmail.com Sat Feb 7 12:07:53 2009 From: scampa.giovanni at gmail.com (Giovanni Campagna) Date: Sat, 7 Feb 2009 21:07:53 +0100 Subject: [whatwg] [html5] Rendering of interactive content In-Reply-To: <498DE005.2070502@googlemail.com> References: <65307430902060954m5bd2c76ale51adb6db4d75040@mail.gmail.com> <65307430902070622x66b7bf83v6a7cf947cf3f35a8@mail.gmail.com> <498DD687.7060303@googlemail.com> <65307430902071051x639a5624j79284323e46f80ff@mail.gmail.com> <498DE005.2070502@googlemail.com> Message-ID: <65307430902071207l7c2db4d8yc3ff1ca8be48e22@mail.gmail.com> 2009/2/7 Benjamin Hawkes-Lewis > On 7/2/09 18:51, Giovanni Campagna wrote: > >> So the rendering section imposes *no* requirements on HTML5 >> conforming user agents, therefore the spec is not "constraining the >> implementation of HTML5 on that of XBL2". >> >> >> Yes, but UA that don't follow that set of CSS rules are not >> interoperable with UA that follow, ie scripts must detect what >> properties are ignored or defaulted. >> > > HTML5 conforming UAs do not have to implement CSS or CSSOM. > > CSSOM-implementing UAs do not have to do express all styling with CSS > properties. > > When they do, you can query for those properties via the CSSOM. > Yes, but what properties should I query for? Binding, behaviour, appearance, border, color, font, all in once? And what should their values be? > > Furthermore, user agents are free to use any method they like to >> mimic the suggested rendering, including CSS3 UI where applicable. >> They don't have to use BE CSS at all. >> >> They're "expected" to use CSS, and I expect that, according to html5, >> "button { binding: initial; }" makes it like a . >> > > Is text I quoted not clear that the word "expected" is chosen precisely to > make it clear that these are _not_ normative requirements? If so, could you > suggest modifications to the text to make it even clearer? > > If this is not obvious from the text, perhaps you would like to >> suggest a change to the text that would make it clearer? >> >> I don't agree with rendering being "optional". If interoperability is so >> important (and it is), rendering should be normative. >> > > How does that follow? If in some UA is rendered with all properties set to initial, not only it does not express the semantic of a button, but it may be difficult for a user to actually recognize it as a button and eventually click it. In that case I, as the author, may need to manually set { appearance:push-button; content:attr(value,string,"Send"); } in order to have my form submitted. Try this example (in Firefox or Safari): data:text/html,
    Imagine that was the UA default stylesheet instead of an author stylesheet and you may see what interoperability means with web application look and feel. > > > And what do you mean by "rendering should be normative"? > > Are you suggesting, for example, that HTML5 should mandate unvisited links > be blue and underlined in the screen medium unless set otherwise by a > publisher stylesheet? That would prevent UAs providing a default > presentation of semantic HTML that suits the end-user! > > Note that would prevent UAs complying with W3C's user-agent accessibility > guidelines: > > http://www.w3.org/TR/WAI-USERAGENT/guidelines.html#gl-user-control-styles HTML5 should not mandate the UA present s in blue, but it should mandate the UA present s like links (appearance:hyperlink). The color of course is a matter of visual themes and platform. An other example: HTML5 should mandate