Abstract

This module builds on braille CSS [BRAILLE-CSS] and defines a set of properties, values and pseudo-elements specific to OBFL-based [OBFL] agents.

Status of This Document

This document is merely a public working draft of a potential specification. It has no official standing of any kind and does not represent the support or consensus of any standards organisation.

The features defined in this document are intended to be temporary solutions. The goal is to define official braille CSS features that can be made to work the same across all agents. In order to make the distinction clear all properties, values and pseudo-elements defined here have an ‘-obfl-’ prefix.

Table of Contents

1. Vertical Positioning: the -obfl-vertical-positioning and -obfl-vertical-align properties

Name: -obfl-vertical-positioning
Value: <length> | auto
Initial: auto
Applies to: block | list-item
Inherited: no
Media: embossed
Computed value: specified value
Name: -obfl-vertical-align
Value: before | center | after
Initial: after
Applies to: block | list-item
Inherited: no
Media: embossed
Computed value: specified value

These properties map directly to the block attributes vertical-position and vertical-align in OBFL. Lengths must be non-negative.

2. Underlining blocks of text: the -obfl-underline property

Name: -obfl-underline
Value: <braille-character> | none
Initial: none
Applies to: block | list-item
Inherited: no
Media: embossed
Computed value: specified value

This property maps to a combination of OBFL block attributes underline-style, underline-align and underline-width.

3. Tables of Contents

3.1 Extending the display property with -obfl-toc

Braille CSS [BRAILLE-CSS] defines the display property with possible values block, inline, list-item, and none. This module extends the possible values with -obfl-toc.

The -obfl-toc value corresponds in OBFL with a toc-sequence element that is backed by a table-of-contents element. The content of the table-of-contents element in OBFL corresponds with the content of the -obfl-toc element in CSS. The -obfl-toc value only applies to elements that are placed into a volume area through the mechanism of named flows.

3.2 The -obfl-toc-range property

Name: -obfl-toc-range
Value: document | volume
Initial: document
Applies to: -obfl-toc
Inherited: no
Media: embossed
Computed value: specified value

This property maps directly to the range attribute of the toc-sequence element in OBFL.

3.3 The ::-obfl-on-toc-start, ::-obfl-on-volume-start, ::-obfl-on-volume-end and ::-obfl-on-toc-end pseudo-elements

The ::-obfl-on-toc-start, ::-obfl-on-volume-start, ::-obfl-on-volume-end and ::-obfl-on-toc-end pseudo-elements correspond directly with the on-toc-start, on-volume-start, on-volume-end and on-toc-end elements in OBFL. These pseudo-elements only apply to elements with a display value of -obfl-toc.

4. Table Cell Spacing: the -obfl-table-col-spacing, -obfl-table-row-spacing and -obfl-preferred-empty-space properties

Name: -obfl-table-col-spacing
Value: <length>
Initial: 0
Applies to: table
Inherited: no
Media: embossed
Computed value: specified value
Name: -obfl-table-row-spacing
Value: <length>
Initial: 0
Applies to: table
Inherited: no
Media: embossed
Computed value: specified value
Name: -obfl-preferred-empty-space
Value: <length>
Initial: 2
Applies to: table
Inherited: no
Media: embossed
Computed value: specified value

These properties map directly to the table-col-spacing, table-row-spacing and preferred-empty-space attributes of the table element in OBFL. Lengths must be non-negative.

5. Volume Breaking

5.1 Extending the volume-break-inside property with -obfl-keep()

A volume-break-inside property with a -obfl-keep() value maps to the OBFL block attribute volume-keep-priority.

-obfl-keep() = -obfl-keep( <integer> )

The function argument defines the priority. It must be an <integer> between 1 and 9.

5.2 The -obfl-keep-with-previous-sheets and -obfl-keep-with-next-sheets properties

Name: -obfl-keep-with-previous-sheets
Value: <integer>
Initial: 0
Applies to: block | list-item | table
Inherited: no
Media: embossed
Computed value: specified value
Name: -obfl-keep-with-next-sheets
Value: <integer>
Initial: 0
Applies to: block | list-item | table
Inherited: no
Media: embossed
Computed value: specified value

These properties map directly to the block attributes keep-with-previous-sheets and keep-with-next-sheets in OBFL. Values must be non-negative.

6. Conditional rendering based on the existence of collections: the -obfl-use-when-collection-not-empty property

A. References

A.1 Informative references

[BRAILLE-CSS]
Bert Frees. Braille CSS. Working Draft. URL: http://braillespecs.github.io/braille-css
[OBFL]
Joel Håkansson. OBFL - Open Braille Formatting Language. Working Draft. URL: http://braillespecs.github.io/obfl/obfl-specification.html