Semantic HTML5 is the Future of Textbook Publishing and Non-technical Authors Can Participate using Customized Web Editors that Support Accessible Authoring

W3C Position Paper : Publishing and the Open Web Platform : 2013
Kathi Fletcher, Fellow, Shuttleworth Foundation,

Interest and goals

I have a fellowship from the Shuttleworth Foundation to make textbooks easier to create, adapt, remix, and deliver in print, on the web, on mobile devices, and on ereaders. Specifically, my team, along with Connexions (an open textbook repository) and input from Siyavula and Sourcefabric, has been building a web-based editor that produces semantically structured textbooks. My focus has been on making an editor that is easy for teachers and professional authors alike to use, without sacrificing the power of a semantic format. The semantic format is used to deliver the content in many forms (web, mobile, print), to ensure that the content is accessible (math, images, and tables can be understood when read aloud), and to enable new tools that automatically pull content from textbooks to build new learning, review, and assessment tools (for instance creating flash cards and quizzes from all the textbooks a student is using).

The editor that we are developing is open-source and based on an existing HTML5 editor called Aloha. The authoring experience is similar to Google Docs or Word, but incorporates draggable block elements for images, mathematics, and semantic structures like definitions, exercises, examples, and notes. The format of the textbooks is semantic HTML5 modules, strung together with a table of contents that can be used in EPUB.The editor has been embedded into three different platforms so far;

  1. : a conversion and editing tool that lets authors take content from Google Docs, Word, LaTeX, or HTML, convert it to semantic HTML5, edit using customized Aloha, and then publish it to Connexions in a related XML format called CNXML. Once there, PDF and EPUB are automatically generated.
  2. A whole book authoring editor that uses Github to store the books, version them, and make derived copies. This is based on a prototype built by Phil Schatz, a Connexions employee. It is being customized for Siyavula (a learning technology company in South Africa) to use with teachers customizing books in South Africa.
  3. An authoring client for Connexions that provides a full service account and editing service for creating, remixing and adapting modular textbooks.

We face most of the challenges that the workshop will address, both in development of the editor, and in the production system for converting content, editing content, and producing PDF, EPUB, and HTML. We are exploring solutions to the challenges that may be of interest to other participants and we would like to demonstrate them and learn about approaches that others are taking.

Revision Control, Commenting, Change Tracking, and Crash Recovery: We are embedding the HTML5 editor customized for textbook creation (described above) into Github pages and using Github APIs for storage, revision control, change tracking, and crash recovery. Content production is very different from code production, however, so we foresee the need for tuning the versioning experience for authors. We are also interested in ways that annotation tools like might be used for reviewing and managing textbook production.

HTML and CSS vs. XML and XSL: We have chosen to use HTML5 as the canonical format for open textbooks, because developers and tools are more plentiful for web technologies than XML technologies, and we have found that since the books are available in HTML, that is how most people try to remix them, whether or not a cleaner XML format exists. But many of our tools are XML based and force conversion back and forth. Back converting to XML also makes the transforms less useful for other book publishers. We would like to use CSS for positioning things like solutions to exercises, but XSL is still needed, because aspects of CSS3 that would accomplish this are not yet implemented. So far we are taking the point of view that keeping related content together in the canonical content format is strategically important and so we are continuing to use XSL to create versions for web, print, and mobile. If CSS catches up, however, the canonical format could be the delivery format, making tracking of versions and adaptations much easier. We would be interested in learning more about how other participants are facing these challenges.

Accessibility: Accessibility for images, tables, and mathematics is often grafted on to legacy content in an attempt to make it work for more learners. It is much harder to do after the fact and the quality is often poor because the original meaning of the content (in the case of mathematics for instance) might be lost on those adapting the content. But original authors often don't know much about accessibility, or how to make their content accessible. We have been designing, user testing, and building features in the editor to make it easy for authors to create accessible content. For instance, math can be entered using LaTeX or ASCIIMath (which is fast for authors). The math is then stored in the document as MathML with the orginal source format as an annotation. Image insertion dialogs make clear that descriptions are important and give succinct guidance to authors. We would like to share these designs, get help making more accessible editing, and look at other ways we can build common tools for accessibility. Additionally, we would like to adapt the editor to include accessibility metadata automatically.

Internationalization: Textbook production and the movement to openly license textbooks so that they can be created once and then adapted and improved is an international issue. Semantically formatted textbooks in HTML should be easier to translate. We would like to learn about the challenges and incorporate best practices into the design of the editor and textbook format. For instance, what is the best way to handle text that is automatically generated for labels, and for the formatting of numbers? If some of that moves into CSS, how does that affect translation projects?

Solutions to the challenges we are facing with tools for producing openly-licensed, remixable textbooks are likely to benefit all textbook publishers and book publishers, so the workshop provides real opportunities to share expertise.


Editors should look and feel like Word, but produce structured content like XML editors, and provide good support for creating content that is accessible. Our target authors range from motivated school teachers, to students, to professional authors working for production houses. Most of these authors use Word or, if they collaborate, Google Docs. They don't have expert training in accessibility, or knowledge of programming or XML. We have tested our designs with authors and teachers and then improved them based on those results. We believe that the three tools we will demonstrate (, books using github for storage and management, and Connexions authoring client) show that this is possible using the capabilities of javascript, css, and modern browsers.

HTML5 format. Although XML tools are powerful for formatting and transforming, using a semantic subset of HTML5 with attributes and classes customized for textbooks ultimately makes the content more durable and remixable. The choice of HTML5 provides durabiltiy and remixability, because it is based on ubiquitous web standards. Tools for authoring, like the editor we have developed, can be adapted for similar formats like the new OReillyMedia HTML format for Docbook, named HTMLBook. Concentrating on HTML5 allowed us to start from an existing HTML5 editor called Aloha, benefitting from their development. In turn, our progress on editing mathematics and incorporating features for accessible content are beneficial for the Aloha web editor.

Separation of structure from position and style. HTML5 isn't enough, though. HTML5 provides excellent support for remixable, structured content that is playable on many devices with differing capabilities. But that only works, if the content is either fully encapsulated and embeddable like a simulation, or if the structure of the content is clear and free of styling that would make pieces inconsistent with each other. By concentrating on an editor that supports structured educational content, and allowing repositories and display engines to provide styling (and eventually positioning) through CSS3, content from multiple sources can be combined and consistently styled and then can be optimized for different devices. Semantically structured content makes it possible to build powerful new features that pull content from textbooks to create new learning services for review and practice.

Loosely coupled transformations. When each of the input (Word, Google Docs, Web etc) and output transformations (PDF, EPUB, Kindle, Document Handouts etc.) are independent and easy to repurpose, we can leverage the funding and efforts of many different partners to create more powerful publishing tools that solve the challenges that an all HTML production pipeline produces.


We should focus on HTML5 book formats that are semantic. We can co-develop web editors that are easy to adapt for different flavors of book and EPUB HTML. For example, the editor that we will demo uses an HTML that is based from an older XML that Connexions used for textbook production. We would be very interested in exploring customizing the editor for use with Docbook's new HTML format, HTMLBook. Another advantage of sharing common web editing tools for book formats is that we could make sure that authors find it easy and understandable to create born-accessible content.

CSS3 features for repositioning content as it is displayed would allow HTML5 content where footnotes stay with their references, definitions stay near terminology, and solutions to formative assessments stay with their problem specifications. But current implementations don't support that, so custom versions of content must be produced for print, web, and mobile. Promoting better support, or developing emulators would be beneficial for publishers.