Categories
HTML5 Specs SVG

This page isn’t valid…and who cares

I covered my recent experiments in using SVG in HTML in SVG in HTML. I linked two different example pages with SVG inline in HTML: one dependent on HTML5 parsing (Firefox nightly), the other using the library, SVGWeb.

There’s another difference between the two examples other than just their implementation. The first example, dependent on a browser parsing the page as HTML5, doesn’t validate. The example using SVGWeb, does. Yet, both pages display correctly, as long as you use an HTML5 enabled browser for the first. The odder thing is, neither page is “invalid”.

The HTML markup is fine for both, as is the SVG used. However, the Validator doesn’t like inline SVG at this time, because, we’re told, no browser implements SVG inline in HTML, yet. The SVGWeb example validates because the SVG is contained in a script block. The validation problems with the first example go beyond embedding the SVG element directly in the web page, though. The example also incorporates a metadata element in the SVG that contains RDF/XML.

Embedding RDF/XML into the metadata element is perfectly valid with SVG, and in fact, quite common when people attach Creative Commons licenses to their work. The HTML5 Validator, though, doesn’t really know what to do with this RDF/XML. Why? Because RDF/XML uses namespaced elements, and namespaced elements are taboo in HTML. Yet, SVG is acceptable in HTML5.

Herein we discover the paradox that is HTML5: XML allowed in HTML, but parsed as HTML; extensible namespaced elements that are valid in SVG/XML, becoming invalid when embedded in the non-extensible environment that is HTML5. HTML5 as XHTML likes namespaces. HTML5 as HTML does not like namespaces. But HTML5, as both XHTML and HTML likes SVG, and SVG likes namespaces.

Pictorially, the logic of this looks about as follows (which would not be valid if inserted into an HTML5 HTML document):

Ouroborous

Oh, what is a web designer/developer to do, who just wants to use a little SVG here and there? Enter, stage left, the HTML5 Doctor.

Recently the HTML5 Doctor was asked about attributes and elements from HTML4 that are now obsolete but conforming (or not) in HTML5. Won’t adding a HTML5 DOCTYPE while still using these elements cause the pages to be invalid?

The Doctor’s answer:

While validation is undoubtedly important for your markup and your CSS, in my opinion it isn’t crucial to a site. Allow me to explain, we recently received a couple of emails pointing out that this site doesn’t validate. While there were some errors that have now been corrected, a primary reason why is the use of ARIA roles in the markup. These attributes currently aren’t allowed in the current specification, however there is work underway to make this happen.

To illustrate this point let’s look at Google, the search giant. If you look at the source on Google’s search pages you’ll see they use the HTML 5 doctype.

<!DOCTYPE html>

However, those pages don’t validate because they use the font and center elements amongst others things that we already know have been removed from the specification. Does this mean that users stop visiting Google? No.

Remember too that the specification is yet to be finalised and may still be changed (thus breaking you’re perfectly valid docments), in partnership with this changes to the specification may not immediately take be implemented in the validators. We also need to bear in mind that HTML 5 takes a “pave the cowpaths” approach to development, meaning that the Hixie, et al will look at what authors already do and improve upon it.

The days of validation being an end all, be all, are effectively over with HTML5. By obsoleting (not deprecating) elements that were perfectly valid in HTML4; by not providing an extensibility path within HTML in HTML5, especially considering that new elements will arise over time—not to mention, the inclusion of perfectly legitimate namespaces elements in SVG— all, combined make “validation” a goal, but not an end when it comes to the web pages of the future. We’re more likely to define a set of supported browsers and user agents and worry more about the pages working with these, then be concerned about whether the pages validate in Validator.nu.

So, my one web page with the inline SVG works with the Firefox nightly, with HTML5 parsing enabled. It isn’t valid…but who cares?

Categories
HTML5

HTML5 Content logo

I created this logo originally for a new tech web site. Since I’ve merged all my separate sites back into one, I’m using this logo for all my HTML5 related postings.

I’m very fond of it.

HTML5 logo with cat scratch through it

Categories
HTML5 W3C

Long descriptions and political cartoons

One of the still open issues with HTML5 is the lack of a verbose descriptor for an image, since the longdesc attribute was made obsolete.

The longdesc attribute used to take a URL to a separate page or page fragment that contained a long text description for a complex or highly nuanced image. Typically, the only ones made aware of the attribute were screen reader users, though some browsers, such as Opera, provided access to the long description via the the right mouse button menu.

However, longdesc was made obsolete because, supposedly, there was no justification for its continued existence.

There is no better justification for a verbose descriptor/longdesc, though, than political cartoons, as I demonstrate over at Puppies @ Burningbird.

The argument that the material describing the image can be repeated in the page just doesn’t fly. To repeat the image data textually, just before or after the image, not only detracts from the image, it lessens the impact the political cartoon intends.

At the same time, political cartoons are highly sophisticated bits of imagery, which can’t be described in a small blurb in an alt attribute. They also provide essential information, because political cartoons are created specifically to convey important arguments about ongoing political and other activities.

It’s just plain asinine to fight against such a valuable aid as longdesc, or any equivalent, with the vehemence that the WhatWG participants in the W3C HTML WG have displayed.

Well, thank goodness HTML5 no longer exists and we live in a time of a versionless, living standards HTML. Since HTML now exists along an unbroken continuum, from the beginning to infinity, and since longdesc was a valid attribute at an early point in this continuum, longdesc remains valid…now, and forever.

Categories
HTML5 Specs

Opera’s TPAC Minutes

The annual TPAC meeting is when standards people involved with W3C specifications get together to see if they can more easily hammer out issue resolutions face to face, rather than in endless email discussions. I suppose we can liken the event to finally meeting that really hot person you connected up with on Facebook—it’s a big of a crap shoot whether anything useful comes of the meeting.

Opera was kind enough to provide company rep impressions of the different meetings, though the W3C is the only entity that can provide official reports.

Among the items I was glad to see was the decision—finally—to publish WebSQL as a Working Group (WG) Note. What that means, boys and girls, is that this spec is dead, and we can finally drop it from our list of HTML5 technologies. Of course it never was HTML5, but that’s beside the point.

The comment on Web Sockets doesn’t reflect the recent findings of security problems and browsers disabling support for Web Sockets. We can all learn from Web Sockets, and how the race to be first isn’t the same as the need to be best.

There was a discussion about redefining previously defined presentational elements such as <s>, <small>, and others as semantic elements. I was glad to see that this discussion happened, because it makes little sense to talk about backwards compatibility, and then redefine a presentational element for semantic use. However, no conclusions was reached, which I guess means that the group broke up and went off to have a beer.

Sometimes I think “semantics” is used as a sort of all purpose lubricant to stuff whatever some folks want into HTML5.

I was not happy seeing the following statement, about accessibility and HTML5:

The a11y Task Force made a list of user requirements (about 100). During the meeting Frank Olivier from Microsoft went through the requirements with the HTML WG and we organized them. It turns out about 10 of them are applicable to the HTML5 specification and are not addressed yet. The HTML WG Co-Chairs as well as the W3C Interaction Domain Lead put their foot down with respect to accessibility potentially delaying the HTML5 Last Call. It was made clear that HTML5 is time driven, not feature driven. So if the work on these requirements is not complete by May next year, it will not happen.

One area of major failing at the W3C is how accessibility has been handled. The W3C initiates working groups that create specifications such as Accessible Rich Internet Applications (ARIA), but even before this spec has a chance to be rolled out as a finished work, the W3C undercuts the work by demanding native implementation of most of the ARIA features in HTML5.

New semantic elements are added to HTML5 with the underlying reasoning being these are necessary for accessibility, but then the elements are not mapped to ARIA or to the accessibility API, leaving them basically worthless lumps of still not implemented technology—none of which can be styled, modified, customized, and few of which come anywhere close to what we have in existing JavaScript/ARIA/CSS implementations today.

The HTML5 Accessibility WG people seem to be spinning their wheels and dragging their feet, but the problem really is that the HTML5 editor keeps tweaking, adding, and removing things that impact on accessibility, forcing the group into a constant state of motion, just trying to stay in step with what’s going on.

The focus is on the “cool” stuff, like HTML5 video and captioning, at the expense of the more mundane, like alt, longdesc, table summary—yet the majority of web pages will never use any of the cool stuff, but will make use of the mundane. What makes this all even more fun is that because we don’t support that old thing deprecation in HTML5 working land, when something like longdesc is pulled, it’s just plain gone. End of story. It is now obsolete. There is no period where the attribute is deprecated, which not only would give folks a heads up about coming obsolescence of the attribute, but also provide an alternative for the attribute’s functionality.

However, seamless transitions are old fashioned—abrupt changes and disconnects are so much more hip.

The HTML5 co-chairs, rather than ensuring all voices are heard equally, have somehow managed to drive all useful discussion out of the HTML5 WG email list to bug reports, which has the advantage of being out of sight, out of mind. They’ve confused the Last Call commenting with bug reporting, encouraged outsiders to comment, but only if they become insiders for the group. They created a working group procedure that ties the working group up in procedures so that procedures are not discussed in the working group email list—which has now become an archive for bug reports, including some really cute ones that come in from the commenting form in the WhatWG HTML5 document, typically consisting of words like, This damn thing has broken my browser….FIX IT!!!!

So to participate in Last Call commenting you kind of have to become some kind of insider, though the whole purpose of Last Call commenting was to get comments from those outside the group…but hey, the majority of insiders in the HTML5 are outsiders, anyway, because the HTML5 WG co-chairs more or less just gives the HTML5 editor whatever he wants because, as we’ve come to find out, the HTML5 specification is being held hostage by a handful of browser vendors who really don’t give a damn what we need or want, because they’re too busy outdoing each other with cool stuff. Like Web Sockets.

Personally, I can’t wait for the official W3C reports on TPAC. Then I can really tell you what I think.

Categories
HTML5 Specs W3C

Correction to the HTML5 review procedure

In my earlier writing, I suggested that after October 1st, people with comments should send emails to the public-html-comment email list, as I thought this would be where Last Call comments would be addressed. Evidently, I was incorrect.

According to a clarification I received, all comments should be submitted to the Bugzilla database. In addition, any arguments should be presented in the Bugzilla database. The HTML WG will be tracking using the Bugzilla database, unless the resolution makes people unhappy, in which case the item will become an issue. When an item does become an issue, then the only way you can continue to participate is basically become a member of the group. Oh, any comment in the public email list is supposedly addressed, but discussion will most likely happen in the members-only email list.

I’m not sure how comments from other W3C groups will be handled—perhaps by Ouija board; maybe strips of paper tacked against a wall, and thrown darts.

If you get from my comments that I don’t like this process, I don’t. A bugzilla database is not the place to handle concerns or suggestions that aren’t editorial or corrective in nature. It’s difficult to follow the discussion, and most of the discussion takes place out of the public eye. In addition, you can’t thread the replies, which means everything gets smooshed together linearly, with a lot of message copying, and references to “Comment Number 14”. Bugzilla is also not the most accessible software in the world.

Relying on Bugzilla to manage Last Call comments sucks. It’s also demonstrative of a group that has not effectively dealt with conflict. Instead of dealing with the major issues—such as the continuing split of the document across W3C and WhatWG, or the disquieting trends reflected in accessibility bugs—the HTML WG has, instead, tried to get technology to take care of the problem. And you know something? Relying on technology in this way never works.

You can track Bugzilla Tracking, or you can subscribe to the email list, but I’d do so warily—it is going to get busy.