-
Notifications
You must be signed in to change notification settings - Fork 1
notebook components
notebook cells are complex that have multiple properties and constraints. this document highlights resting state of the notebook and assistive settings.
one of the ways we achieve our goal of an accessible notebook is to approach the document as a readonly form. the notebook as a form gives access to more semantic html5 elements to describe the notebook components.
notebook cells are arrays of properties describing input/output pairs of interactive compute. one of the goals of an assistive design will maintain the data semantics. it should be possible to recover the original document from the resting dom state.
notebook metadata exists to describe states of literate programs that contain narrative and code. the metadata describes the presentation of the content and the computational conditions that code is executed in.
the current schema assumes a single kernel for an entire notebook. there is on going work to introduce multiple kernels into the notebook and that would require the kernelspec information to exist in the cell metadata instead of the notebook metadata. the notebook metadata will contain the primary kernel information if there is one.
one of the reasons that jupyter notebooks is their stable file format that allows for larger services like Github and Gitlab to reliably render these documents. the schema describes the structures and properties of a notebook. helpful information is encoded in the schema and the nbconvert-a11y
implementation is the first to include in the the user interface as a help feature.
notebooks are malleable documents that vacillate from reading to writing mode, or browse to focus mode in screen reader parlance. changes to the interface require user facing components that must be accessible.
all users should know when things in the document. toast is not the hit. aria live is a standard for notifying assistive technologies of changes in document state. it is worth noting that adrian roselli provides similar functionality in his sortable table headers post wherein he adds for functionality for the aria live region severity.
a html representation of a notebook is interactive in reading mode even when code cells and outputs remain static. the representation of the document is malleable through html, css, and javascript standards which allows the content to adapt to various physical and cognitive needs. the activity log feature was added to the notebook application to notify assistive technology of changes to user interface using the aria live standard. this addition is being adopted by JupyterLab to begin exposing aria live confirmations.