Last Call: CSS Flexible Box Layout Module Level 1

The Cascading Style Sheets (CSS) Working Group has published a Last Call Working Draft of CSS Flexible Box Layout Module Level 1. The specification describes a CSS box model optimized for user interface design. In the flex layout model, the children of a flex container can be laid out in any direction, and can “flex” their sizes, either growing to fill unused space or shrinking to avoid overflowing the parent. Both horizontal and vertical alignment of the children can be easily manipulated. Nesting of these boxes (horizontal inside vertical, or vertical inside horizontal) can be used to build layouts in two dimensions. Comments are welcome through 22 April 2014.

What publishing needs from the web (and how you can help)

(This blog was originally published, by Liza Daly, on the Safari Flow Blog, on March 24th. It is reproduced here in full and without any change, with the permission of the author.)

For a few months now I’ve served as co-chair of “DPUB”, the W3C Digital Publishing Interest Group, (with Markus Gylling, who somehow has time to be a wonderful CTO of two different standards organizations). DPUB acts as a channel for those of us in digital publishing to influence the development of web standards like HTML5 and CSS3. The group has already produced two public documents describing use cases for text layout and for annotations, which we’re quite proud of. But we’d like to do more, and we need your help.

Widows and orphans, oh my

Screen Shot 2014-03-24 at 9.25.01 AM

In Requirements for Latin Text Layout and Pagination, Dave Cramer of Hachette has compiled an exhaustive list of requirements for laying out text using best practices developed over centuries of print publishing, including guidelines for pagination, table layout, and other formatting. By design, these requirements focus on problems which are not natively solvable today in CSS. Those of you who have tried to lay out drop caps or figure/caption pairs know that the current techniques are fragile, easily breaking down in the face of alternate viewport sizes or user controls. Dave’s work is well worth reading for anyone interested in CSS-based layout.



Annotation Use Cases by Robert Sanderson of Los Alamos National Laboratory documents issues that those of us who have implemented annotations in our reading systems must deal with: annotation metadata, position and text selection, and annotation styling. Rob includes advanced cases as well, such as annotation of documents under revision and the elusive cross-format annotation (which I consider to be one of the hard problems in digital publishing).

Why this matters

It’s hard to believe this in 2014, but when EPUB was first born, it was provocative to suggest that ebooks would be a part of the web. Early ereaders were implemented with proprietary software stacks that presumed interoperability at the level of file interchange only. We’re still paying the price for some of these decisions, from DRM, to strict XML-centric markup, to a collective deficit in documented best practices, free software, and open dialog.

This is changing fast, thanks to projects like Readium, but we now have a new problem: the web isn’t entirely ready for us. Today, nearly all ereading systems are built either directly on the web (like Safari) or using low-level browser libraries (like most reader apps on mobile devices). There are unique requirements in publishing that need to be supported directly in web technologies; the alternative is continued fragmentation and lack of interoperable innovation.

What needs to be done

I’m a reading system developer, so I’ve grappled with problems like pagination (ugh), progressive enhancement, accessibility, and interactivity. Publishers and authors care about semantics and metadata. Ebook developers struggle with markup and styling. While we’re all getting by with the tools we have available today, there’s tremendous variability from platform to platform in how many of these issues are addressed. Too many organizations are starting from nothing when they endeavor to answer questions like:

  • How do we provide metadata at the level of a chapter or section?
  • How do we best convey the rich semantics of a book in a way that search engines will understand?
  • How can we preserve the beauty and order of professional typography in web-based books?
  • How can we create rich interactive publications that work across a range of platforms?

Screen Shot 2014-03-24 at 11.46.19 AM

Help us help you!

We need participation from publishers, reading system developers, ebook developers and other thinkers in digital publishing. This is important, high-profile work, and there are some hard problems to solve. Please drop me a note in the comments, an email, or on Twitter for more information on joining the interest group and/or becoming a W3C member.

CSS Lists and Counters Module Level 3 Draft, CSS Namespace Module Level 3 republished

The Cascading Style Sheets (CSS) Working Group has published a Working Draft of CSS Lists and Counters Module Level 3. This draft contains the features of CSS level 3 relating to list styling. It includes and extends the functionality of CSS level 2 [CSS21]. The main extensions compared to level 2 are a pseudo-element representing the list marker, and a method for authors to define their own list-styles.

The group also updated in place the 29 September 2011 Recommendation of CSS Namespaces Module Level 3. The changes include the addition of three grammar rules which aren’t used in the spec itself, to avoid having to add them to new specs that do need them; addition of an extra explanation to an example (“because…”); change to the term “rule sets” to “style rules.” Both are correct, but the latter is easier to understand.

Publication of the WAI-ARIA Recommendation

The W3C Protocols and Formats Working Group (PFWG) today published Accessible Rich Internet Applications (WAI-ARIA) 1.0 and the WAI-ARIA 1.0 User Agent Implementation Guide as W3C Recommendations. WAI-ARIA is a technical specification for making dynamic, interactive Web content accessible to people with disabilities. WAI-ARIA and supporting documents are described in the WAI-ARIA Overview. See more information in W3C’s Accessible Rich Internet Applications (WAI-ARIA) 1.0 Expands Accessibility of the Open Web Platform press release and WAI-ARIA Expands Web Accessibility blog post.

First Drafts of “Annotation use cases” and “Requirements for Latin Text Layout and Pagination”

The Digital Publishing Interest Group has published two First Public Working Drafts:

W3C Invites Implementations of Compositing and Blending Level 1

The Cascading Style Sheets (CSS) Working Group and the SVG Working Group invite implementation of the Candidate Recommendation of Compositing and Blending Level 1. Compositing describes how shapes of different elements are combined into a single image. There are various possible approaches for compositing. Previous versions of SVG and CSS used Simple Alpha Compositing. In this model, each element is rendered into its own buffer and is then merged with its backdrop using the Porter Duff source-over operator. This specification will define a new compositing model that expands upon the Simple Alpha Compositing model by offering: additional Porter Duff compositing operators; advanced blending modes which allow control of how colors mix in the areas where shapes overlap; compositing groups. In addition, this specification will define CSS properties for blending and group isolation and the properties of the ‘globalcompositeoperation’ attribute as defined in HTML Canvas 2D Context, Level 2.

W3C Invites Implementations of CSS Syntax Module Level 3

The Cascading Style Sheets (CSS) Working Group invites implementation of the Candidate Recommendation of CSS Syntax Module Level 3. This module describes, in general terms, the basic structure and syntax of CSS stylesheets. It defines, in detail, the syntax and parsing of CSS – how to turn a stream of bytes into a meaningful stylesheet. CSS is a language for describing the rendering of structured documents (such as HTML and XML) on screen, on paper, in speech, etc.

Upcoming Workshop on Web Annotations: Footnotes, comments, bookmarks, and marginalia on the Web

W3C announced a workshop on digital annotations for the Web, part of our ongoing effort on enhancing the Web experience.

Annotating is the act of creating associations between distinct pieces of information. Annotation is a ubiquitous activity online in many guises: comments on articles, footnotes, sticky notes, “hot spots” on images, timestamped notes on video or audio tracks, highlighted text passages in ebook readers, evocative pictures attached to song lyrics, quotes and links on social media, and even tagged bookmarks, are all forms of annotation. One of the most common and engaging Web activities for the average person is discussion of a document or piece of media.

Many projects and companies are now turning to annotations to solve a variety of issues with communication on the Web, and is of particular interest to the education, research, and digital publishing industries. To address these needs, W3C’s Web Annotations workshop will focus on identifying standardization priorities for chartering a potential Web Annotations Working Group, on such topics as:

  • Robust anchoring to dynamic third-party documents
  • Styling selections and annotations
  • Data models
  • Federation and syndication
  • Web storage and management of annotations
  • Client side APIs and methods for the implementation of annotation systems
  • Practical experience with annotation systems
  • Annotation of data

W3C membership is not required to participate. The event is open to all, but all participants are required to submit a position paper or statement of interest by 28 February 2014.

Draft charter for an annotation group at W3C

W3C has published a draft charter for a possible Annotation Working Group. The mission of the Group, which may be proposed to be added to the Digital Publishing Activity, is to define a generic data model for annotations, and define the basic infrastructural elements to make it deployable in browsers and reading systems.

The goal of this draft is to provide a framework for a public discussion on the creation of group. Community perspectives on the scope of this proposed charter at a Workshop on Annotation that W3C organizes in April, co-located with the I Annotate conference in San Francisco. The current plan is to finalize the charter soon after that event. Once the charter is finalized, it will be reviewed by the director and W3M and then sent to W3C members for formal approval.

Comments and questions as well as general expressions of interest and support are expected on the mailing list.

Five Documents Published by the HTML Working Group

The HTML Working Group has updated a Candidate Recommendation, published two Last Call Working Drafts, updated a Working Draft and a Working Group Note today:

  • Updated Candidate Recommendation of HTML5. This specification defines the 5th major revision of the core language of the World Wide Web: the Hypertext Markup Language (HTML). In this version, new features are introduced to help Web application authors, new elements are introduced based on research into prevailing authoring practices, and special attention has been given to defining clear conformance criteria for user agents in an effort to improve interoperability.
  • Last Call Working Draft of Polyglot Markup: A robust profile of the HTML5 vocabulary. A document that uses polyglot markup is a document that is a stream of bytes that parses into identical document trees (with some exceptions, as noted in the Introduction) when processed either as HTML or when processed as XML. Polyglot markup that meets a well-defined set of constraints is interpreted as compatible, regardless of whether it is processed as HTML or as XHTML, per the HTML5 specification. Polyglot markup uses a specific DOCTYPE, namespace declarations, and a specific case—normally lower case but occasionally camel case—for element and attribute names. Polyglot markup uses lower case for certain attribute values. Further constraints include those on void elements, named entity references, and the use of scripts and style. Comments are welcome through 25 February 2014.
  • Last Call Working Draft of W3C DOM4. DOM defines a platform-neutral model for events and document nodes. Comments are welcome through 4 March 2014.
  • Updated Working Draft of HTML 5.1. This specification defines the 5th major version, first minor revision of the core language of the World Wide Web: the Hypertext Markup Language (HTML). In this version, new features continue to be introduced to help Web application authors, new elements continue to be introduced based on research into prevailing authoring practices, and special attention continues to be given to defining clear conformance criteria for user agents in an effort to improve interoperability.
  • Working Group Note of W3C HTML Ruby Markup Extensions. The ruby markup model currently described in the HTML specification is limited in its support for a number of features, notably jukugo and double-sided ruby, as well as inline ruby. This specification addresses these issues by introducing new elements and changing the ruby processing model. Specific care has been taken to ensure that authoring remains as simple as possible.