Interview with Steve Faulkner: HTML5 editor and new doctor

by .

Steve Faulkner – invariably prefixed by the honorific “The Mighty” by those who know him – is Australian living in London with his wife and two kids. He works for The Paciello Group, a well-known web accessibility consultancy, and is a co-editor of the HTML5 spec at W3C Today, we’re pleased to announce that he’s joining the HTML5 Doctor team, with special focus on accessibility and didgeridoo.

Bruce grills him mercilessly; some questions were contributed over Twitter and co-interrogators are acknowledged below.

The Mighty Steve Faulkner, and a UFO
What’s your connection with HTML5?
I’ve been participating in the HTML Working Group since 2007 after reading a post by Roger Johansson. I have recently taken on the roles of HTML accessibility task force chair and co-editor of the HTML specification. I also edit Using ARIA in HTML, HTML5: Techniques for Providing Useful Text Alternatives and HTML to Platform Accessibility APIs Implementation Guide I also blog on accessibility and web standards.

Some people call you “the accessibility guy”. What do you call yourself?
I have lots of ways to self identify these days. The most important is being a dad to Clara and Eloisa.

What’s your day job?
I work as an accessibility engineer/director/consultant/curmudgeon at The Paciello Group. On a typical day I may be writing code, testing a site or application, reviewing the work of colleagues, talking with clients, (tor)mentoring colleagues (can’t wait until Patrick Lauke starts), working on the free testing tools we develop, editing the HTML spec or one of the other specs I edit, writing a blog post, filing bug reports on browsers or AT and as I work from home I try to squeeze in a kip (nap), while keeping an ear open for my boss Charlie pinging me on skype.

How did you get into the world of accessibility?
When I went back to Australia in 2001 after a 2 year stint as a HTML code cutter in London, I applied for a job at vision australia which combined my technical and social work interests (in a previous life I studied psychology at Sydney Uni and then worked with people with disabilities).

The job at vision australia was (I thought) as developer on their web site, but on the first day my then boss Brian Hardy threw a copy of WCAG 1.0 at me and said “read this”, and it started from there.

What’s the difference between W3C HTML5 and WHATWG HTML Living Standard?
The W3C has  HTML5 CR (Candidate Recommendation) which is a snapshot (also read Robin’s interview for more detail) and HTML 5.1 which is akin to the WHATWG spec in that it is up to date and includes new/unstable feature proposals. HTML 5.1 takes up most commits from the WHATWG spec unless there is disagreement in the HTML WG about a change.

HTML 5.1 is also modularised, meaning some features are developed as extension specifications within the “HTML5 family of specifications” This is the case for features such as HTML Canvas 2d context and some controversial new features (the <picture> element and srcset attribute being examples).

Once one or both new feature proposals get implemented they may well be moved into the core HTML spec. Another example is the <main> element. It started life as an an extension spec, but was pretty quickly integrated into HTML 5.1 as implementations occurred. It should be noted that the <main> element should be included in the HTML5 CR spec before it becomes irrevocably frozen, as it already meets the criteria of two interoperable implementations. It should also be noted that the text of HTML5 CR is not yet untouchable. It is still updated with bug fixes and I have a queue of changes to feature definitions, currently in HTML 5.1, to commit. More details about how the HTML recommendation process works can be found in: Plan 2014.

Which mailing list should I be subscribed to for W3C HTML? (Steve Fenton)
I recommend you join the HTML WG – anybody can. When you join, you are subscribed to a number of lists; the two to watch and contribute to are Public-HTML for technical discussion and Public-HTML-admin for process/admin stuff related to technical discussion.

How do you get a new element/ feature added to HTML? (Dr Rich Clark)
Lots of hard work, research, data gathering, use cases, discussion, haggling, etc. To get a feature added to HTML that involves implementation in browsers (i.e. vast majority) you need to get implementers to interested.

What I did for the <main> element was talk to as many implementers (both general browser implementers and accessibility implementers), developers, authors and users as I could and got advice and input from them. I went where the various people hung out; on IRC, mailing lists, twitter, blogs, conferences – anywhere.

Robin Berjon has written a useful HowTo on extension specifications which is a route you can use at the W3C (I used it for <main>). The WHATWG also provide info on how to do it via their process.

What drives you to push proposals through in the face of stiff opposition? (Steve Fenton)
A passion for pain mostly :-) also a desire to improve the web.

Do you plan to work on getting your changes upstreamed to the WHATWG spec? Do you coordinate with the upstream? (Henri Sivonen)
The way it currently works is that the WHATWG spec is a (major) source for the HTML 5.1 spec. We cherry-pick commits to the WHATWG spec to add to the HTML spec. Uncontroversial changes such as bug fixes, editorial tweaks, new features proposals that the HTML WG members have no issue with, get added on a weekly basis. We also do our own commits to the spec, for example I make improvements to the authoring advice and requirements and accessibility implementation stuff after discussions on the HTML list or in response to bug reports.

Co-ordination is a thorny issue the WHATWG is an important contributor to HTML and I have have reached out, but with limited success so far. Its safe to say that like HTML, the relationship between the WHATWG and the W3C is a work in progress.

I think the most important thing is that the HTML 5.1 spec reflects implementations and that includes advice and requirements on how authors should use HTML as implemented, to maximise the benefit to users.

Are you worried about WHATWG/ W3C specs diverging?
I used to worry a lot more about this. Implementation stuff is not diverging, authoring advice and requirements and advice are diverging as improvements are made to HTML 5.1. Ideally the WHATWG spec and the HTML 5.1 spec would not contain contrary advice, but I don’t think the threat of divergence, should stop us from making improvements to HTML that benefit authors and users. Its better to have the improvements out there for people to make use of rather than have two specs that agree, both of which contain advice fictions based not on implementation reality but on future possibilities.

Rephrasing from Isn’t it bad that the specs have forked?:

“The plan is to just do a better job with the HTML 5.1 spec, such that it becomes the logical and obvious choice for anyone wanting to figure out which spec they should use.”

What are the skills of a good editor?
Unsure about that, I don’t know. What I try to do is get as much feedback on stuff as possible, so I go out to where people are and badger them. I realise that I don’t know it all and therefore want to engage others to contribute their knowledge and am myself only an editor in a team contributing to the development of HTML. I also realise that HTML is a vast and complex specification and limit my editing to those areas that I feel knowledgeable and confident enough to contribute to (luckily I am part of a team).

Is the spec readable/ useful enough for authors?
I think the spec needs work to make the authoring advice contained in it more useful, usable and accurate. I am working on it. I have already committed changes to HTML 5.1 in response to feedback from authors, developers and users. I read a lot of articles and blogs picking up issues with the spec and discuss stuff with authors/developers who use the spec and book authors such as you who use it as source material. But really, it’s the users of the spec that decide if it’s readable/ useful enough, so I seek out and appreciate any feedback from them.

Why hasn’t the HTML5 outlining model really been implemented? (Marc Drummond)
My understanding is that the outline algorithm as currently defined is not intended to be implemented in browsers. Meanwhile it has sort of been implemented by the JAWS screen reader, but in a borked way. It is a proposed feature that  implementers in general have not shown an interest in. for this reason it is a feature at risk in the HTML5 CR specification and will likely be dropped before it becomes a Recommendation, it will probably live on in HTML 5.1 as a proposed feature and we will see how it goes.

<hgroup>: rubbish or not?
Good question! I think it’s a feature in search of a use case. The only use case cited for it is to mask subheadings from the unimplemented outline algorithm (see above). I don’t think it’s a good enough reason to add a new element to HTML. Also, its accessibility mappings are defined such that any content in it becomes one big heading. But it is there, so we have some choices: make it more useful by changing how it is defined and fixing the accessibility mappings, obsolete it and replace it with something that is more useful, obsolete it and replace it with advice on how to mark up subheadings using current features, or just leave as is…

Do you agree with Luke Stevens that the new structural elements miss the mark and we should just use <div>s with ARIA roles instead?
No. I think that there is improvement needed in how the elements are defined and how they are explained, but do not think that using divs and roles is the way forward. Some people imbue HTML structural features with magical properties that in reality are not present. What I try to do is look at how such features are used and work in practice, for users that actually consume the semantics and, where needed, modify the feature definitions to benefit users.

I asked Hixie why most of his fights are with accessibility practitioners. He said didn’t know. Have you got any ideas?
Hixie has strong opinions about how HTML should be defined; other people disagree with him. Conflict ensues at times. I believe the new development process for HTML at the W3C takes a lot of heat out of these disagreements providing a constructive environment for contributions from a wide range of stakeholders to the further development of the language of the web.

Now you’re an HTML5 doctor, what (apart from fame, glory and the adultation of beautiful people) do you hope to get from it and contribute?
Once I get over the shock and honour of being bestowed with a HTML5Doctorate, I hope to contribute by writing articles on the bits of HTML/ARIA I know best. I would also very much like to get as much input/feedback as possible from the good readers of HTML5Doctor and seek their collaboration in improving HTML 5.1.

The all-important grooming question: Blue Stratos or Old Spice?
I used to be a Blue Stratos kinda guy, but have switched to the far superior male fragrance Hai Karate after your recommendation.

6 Responses on the article “Interview with Steve Faulkner: HTML5 editor and new doctor”

Ryan Benson says

Essentially everything I read says if you use any of the sectioning elements, the order of the headings resets. The only thing I have seen supporting the logic of this is when one site gets content from another via cURL and whatnot. I saw some code a while ago (don’t have a link), the HTML4 version used H1-3 correctly.

Now the HTML5 version followed the spec, and by doing that only h1′s were used.

In every WebAIM survey I saw said the heading level matters, so HTML5 essentially nullifies every other heading level besides h1. Prior to HTML5, to denote a new part of the content you’d use an h2, maybe wrap a div around it.

If you want to do HTML5 correctly, you would wrap it in a and use an h1. This is reversing the logic used since, what, 1995? Unless AT changes, how will a user know this second h1 isn’t as important as the first, they’re both h1′s?

Hgroup just expands the issue, in my opinion. The examples for hgroup I have seen have used the tag to holding branding information, thus an h2 holding the motto/slogan. Outside the marketing arena, is a motto that critical? I lean to no, if it is, I would advocate incorporating it into the h1 or the alt attribute somehow.

Steve Faulkner says

Now the HTML5 version followed the spec, and by doing that only h1′s were used.

Note HTML 5.1 no longer promotes the use of only h1 elements. Instead it encourages use of ranked headings:

Sections may contain headings of any rank, and authors are strongly encouraged to use headings of the appropriate rank for the section’s nesting level.

The reasoning for this is simple, as you point out, use of on h1‘s only is not backward compatible and also at this time the outline algorithm is essentially a fiction, but if and when it is implemented, the use of ranked headings will still work fine.

This advice change is also in my queue to port back to HTML5.

Stomme poes says

Ryan: the ordering of the heading *would* reset, if the document outline were implemented. Since none of the big AT have actually done this right, most users get a bunch of h1s and so this is *not* recommended to use all h1s in the W3C specs (not sure about the WHATWG version).

Re hgroup: it’s not just mottos, but also for things like those long titles that have become trendy, like with books.

<h?>Collapse: How Societies Choose to Fail or Succeed</h?> would, by many authors, be written with only the main title, “Collapse” in the heading and stuff the rest in some kind of sub-heading. For academic papers with *very* long names this would be kind of useful, and usually only that main part of the heading gets referenced for the rest of the document. However hgroup expects authors to use another heading tag for the sub-title. In most cases I can’t see sub-headings, sub-titles, mottos or slogans as being head-y enough to get heading tags wrapped around them in the first place, whether there’s an hgroup around them or not.

One possibility would be a new dedicated tag, but that’s unlikely.

Rich Schwerdtfeger says

Nice interview Steve

Dylan Mesinger says

Looking forward to the accessibility info, a factor overlooked in many circles.

sampath says

I think the new tag is quite useful to me as a web developer makes sense of wrapping the ‘h’ elements in one group.

Join the discussion.

Some HTML is ok

You can use these tags:
<a href="" title="">
<abbr title="">
<blockquote cite="">
<del datetime="">
<q cite="">

You can also use <code>, and remember to use &lt; and &gt; for brackets.