eBraille Tagging Best Practices

DAISY Draft Working Group Note

More details about this document
This version:
https://daisy.org/s/ebraille/best-practices/tagging/FPNOTE-ebraille-tag-20241017/
Latest published version:
https://daisy.org/s/ebraille/best-practices/tagging/
Latest editor's draft:
https://daisy.github.io/ebraille/best-practices/tagging/
History:
Commit history
Editors:
Willow Free (American Printing House for the Blind)
Matt Garrish (DAISY Consortium)
Author:
James Bowden (Royal National Institute of Blind People)
Feedback:
GitHub daisy/ebraille (pull requests, new issue, open issues)

Abstract

Status of This Document

This section describes the status of this document at the time of its publication.

This document was published by the eBraille Working Group as a Draft Working Group Note.

Publication as a Draft Working Group Note does not imply endorsement by the DAISY Consortium and its members.

This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It should only be cited as a work in progress.

The eBraille Working Group is seeking input on all aspects of this document. It is particularly interested in implementation experience both creating eBraille publication and creating reading systems in which to read them.

1. Introduction

1.1 Overview

1.2 Conformance

As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.

2. eBraille tagging

Editor's note

The examples in this section are provided only for early illustrative purposes. The exact class names and formatting to use is still under development.

Note

This section only identifies elements for which specific braille formatting requirements are defined by this specification. Authors may use any other [html] elements in their eBraille publications.

The recommendations in this specification are included to help facilitate a number of desired features, including:

  • To define an object which doesn't have an [html] tag, e.g. a line number, transcriber note.
  • If needed for navigation to such items, e.g. navigate directly to a transcriber note
  • To show/hide such items - e.g. show/hide print page indicators.
  • To enhance interoperability across different braille regions, so a different stylesheet can be swapped in to reformat a document according to local braille rules.
  • To better facilitate consistency amongst authoring and reading tools.

2.1 Aside

Asides are used for material that is indirectly related to the document's main content. Examples would include sidebars or call-out boxes.

Element(s):

aside

Reserved class values:
  • none

2.2 Boxed text

Boxes may be created by lines of braille characters, above, below, to the left or right of a block of text. The characters used, the size and which sides to show, are controlled by CSS.

Element(s):

div

Reserved class values:
  • box, nemeth
How to use class values:
  • box is used to signify a standard box.
  • Put box inside box when a box contains a box.
  • nemeth is used for a box that has begin and end Nemeth symbols in its box lines.
  • Various strings can be used for boxes with specific text needs. Examples could include boxes with color. There is no way to define all possible strings that could be used in such a scenario. The writing software will need to define the limitations and allow the user to input the string, which is then used as the class to allow the CSS to input that string into the box line.

2.3 Braille grade

Braille grade refers to whether contractions are used in the braille transcription. In Unified English Braille, for example, grade 1 braille uses no contractions, while grade 2 uses any applicable contractions. Documents can be in one grade but with sections that appear in a different grade.

Element(s):

span

Reserved class values:
  • grade-0, grade-1, grade-2

Note that terms for braille grade vary throughout the world and that grade-related class values do not directly correlate to how a local region may understand the terms. Hence, in a region where uncontracted braille is called Grade 1, grade-0 is preferred for the class name so that these terms may be better understood internationally. Basically, one should use the least value class for the least contracted grade of braille and move up in value from there.

Additionally, braille grade should only be specified when it changes within the document. Otherwise, metadata is sufficient.

2.4 Captions

Captions refer to any text in print that is associated with an image, table, or chart. The text is not added by the transcriber, like a description or alt text, but instead is transcribed from the print.

Element(s):

figcaption

Reserved class values:
  • None

2.5 Emphasis

In contrast to print, braille uses characters placed before or sometimes after text to indicate various types of text emphasis. The following elements will not add the braille characters themselves but will instead just track where emphasis is placed so that reading systems can potentially offer features that utilize this information.

Element(s):

em, strong

Note that b, i, mark, and u are not recommended and that em with a class should be used for emphasis other than italics and bold.

Reserved class values:
  • script, underline, custom-1, custom-2, custom-3, custom-4, custom-5
    • script— used to denote text that is meant to mimic handwriting.
    • underline— used to denote text that is underlined.
    • custom-#— used in UEB to denote text that is emphasized in a way not covered by a planned type of emphasis. For example, you could use it for green highlighting since UEB has no means to denote that kind of emphasis. Other kinds of emphasis that could be represented are text with a different color or a significant font change. It could similarly be applied to other braille codes that have emphasis types not covered by the types available.

2.6 Figures

figure specifies self-contained content, like illustrations, diagrams, photos, code listings, etc.

Element(s):

figure

Reserved class values:
  • None

2.7 Footnotes and endnotes

Element(s):

a, div, p, section

Supported role values:
  • doc-noteref— used to identify the actual symbol of the footnote or endnote. This symbol will typically appear as a superscripted number or symbol in the main body of text.
  • doc-footnote— used to identify the entirety of a single footnote, so symbol and text.
  • doc-endnotes— used to identify the entirety of a single endnote, so symbol and text.

2.8 Headings

Element(s):

h1 - h6, title, header

Reserved class values:
  • running-heading

2.9 Graphics

Element(s):

img, a

Note that img is used for jpg, png, and svg, while a is used for pdf.

Reserved class values:
  • TBD

2.10 Line numbers

Element Name:

span, div

Note that span is used to denote the specific line number, with an ID, class, and aria-label, while div is used to denote the section that contains line numbers.

Reserved class values:
  • linenum, prose, poetry
    • linenum— applied to the div and span to identify each as involving line numbers.
    • prose— applied to the div to identify the section as involving prose text with line numbers (some braille regions have different rules for prose line numbers vs poetry line numbers).
    • poetry— applied to the div to identify the section as involving poetic text with line numbers.

2.12 Lists

Element(s):

ol, ul, dl, li

Note that dl is preferred for glossary and index.

Reserved class values:

The reserved class values in this section are only applied to ol, ul, and dl.

  • nomark, exercise, glossary, index, toc, poetry
    • nomark— used to prevent the automatic inclusion of list prefixes, like bullets or numbers.
    • exercise— used to denote an exercise question, typically one in a list format like a multiple-choice question.
    • glossary— used to denote a glossary entry.
    • index— used to denote an indices entry.
    • toc— used to denote a table of contents entry.
    • poetry— used to denote a line in a work of poetry that is meant to be formatted in stanzas or a way that is similar to a list.

2.13 Page numbers

Element(s):

div, span

Editor's note: Use [span] for all page numbers?

It's possible to treat a span as a div (and vice versa), so it may be simpler to treat all page numbers as either span or div regardless of whether they interrupt another element.-WF

Supported role values:
  • doc-pagebreak— A separator denoting the position before which a break occurs between two contiguous pages in a statically paginated version of the content.

2.14 Paragraphs

Element(s):

p

Reserved class values:
  • left-aligned, directions, hanging
    • left-aligned— used to denote a paragraph that should be left justified.
    • directions— used to denote directions that will typically accompany tests, quizzes, or multiple choice questions.
    • hanging— used to denote a paragraph in which the first line is set to the left margin, but all subsequent lines are indented.

2.15 Preformatted text

Element(s):

pre

Note that pre should be avoided unless otherwise necessary. When pre is used, the formatting will be hardcoded and not reflowable for different page sizes. In future revisions, additional terms will be defined to reduce instances where pre is needed.

Reserved class values:
  • None

2.16 Tables

Element(s):

table, tr, th, td, thead, tbody, tfoot

Attributes

Either the attributes scope or headers with id must be used to properly identify the relationship between the cells of the table. headers with id is preferred for complex tables.

abbr should be used with any long row or column headings.

Reserved class values:

The reserved class values in this section are only applied to table.

  • listed, linear, stairstep
    • listed— presents the same information as the original table but in a listed format that repeats column headings for each entry.
    • linear— presents the same information as the original table but in a listed format that rearranges the row entries according to their column headings. Column headings are not repeated but are presented in a transcriber's note that precedes the table and informs the reader of the layout of each row's entries.
    • stairstep— presents the same information as the original table but in a specialized format that puts each row in its own section with each column entry in a list format where each column of that row begins two-cells to the right of the previous column. So the first column is in 1-1, the second in 3-3, and so on. The column headings appear in a transcriber's note and are used to inform the reader of the layout of the table.

2.17 Text Splitting

Element(s):

wbr, ­

Reserved class values:
  • None.

2.18 Transcriber's Notes

Element(s):

span, div

Reserved class values:
  • transcriber-note— used to identify a span or div as a transcriber's note, which is text that is added by a transcriber and not part of the original text.

A. Acknowledgments

This section is non-normative.

The following members of the eBraille working group contributed to the development of this document:

B. References

B.1 Normative references

[html]
HTML Standard. Anne van Kesteren; Domenic Denicola; Dominic Farolino; Ian Hickson; Philip Jägenstedt; Simon Pieters. WHATWG. Living Standard. URL: https://html.spec.whatwg.org/multipage/