this issue provides more structure to the annotation object model in the interactive jupyter notebook v7 experience. this effort is an extension of the notebooks for all effort to establish a minimum, semantic html5 footprint for a rendered notebook. the originial hypothesis still stands that an accessible reference implementation of the rendered notebook will extend to an assistive interactive experience.
# jupyter notebook v7 remediations
this issue provides more structure to the annotation object model in the interactive jupyter notebook v7 experience. this effort is an extension of the notebooks for all effort to establish a minimum, semantic html5 footprint for a rendered notebook. the originial hypothesis still stands that <q>an accessible reference implementation of the rendered notebook will extend to an assistive interactive experience.</q>
>i think this remediation is 4 primary tasks- [ ] improved notebook level semantics for landmarks and initial APG recommendations
- [ ] introduce landmark semantics for the cells
- [ ] establish input group semantics
- [ ] establish preliminary group semantics
our goal is presentation an assistive experience that can be extended with feedback from users. this will drastically improve the assistive tech experience through improvements to the annotation object model.
Note: all labels will need to be internationalized.
this issue provides more structure to the annotation object model in the interactive jupyter notebook v7 experience. this effort is an extension of the notebooks for all effort to establish a minimum, semantic html5 footprint for a rendered notebook. the originial hypothesis still stands that
an accessible reference implementation of the rendered notebook will extend to an assistive interactive experience.
i think this remediation is 4 primary tasks
improved notebook level semantics for landmarks and initial APG recommendations
introduce landmark semantics for the cells
establish input group semantics
establish preliminary group semantics
our goal is presentation an assistive experience that can be extended with feedback from users. this will drastically improve the assistive tech experience through improvements to the annotation object model.
Note: all labels will need to be internationalized.
## out of scope
this documents focus on non-visual changes that improve the quality of Annotation Objective Model so the following important topics are out of scope:
- [ ] the split panel handler has an [APG Window Splitter Pattern](https://www.w3.org/WAI/ARIA/apg/patterns/windowsplitter/) that should be implemented.
- [ ] tab traps are bad for keyboard users. tab in cell mode should not enter edit mode automatically. the assistive experience hinges on https://github.com/jupyterlab/jupyterlab/pull/14115.
- [ ] modifying the native find experience without an escape hatch is super dangerous; so i'm real worried about `.jp-DocumentSearch-overlay`.
%%javascriptfor(xindocument.querySelectorAll("#top-panel #jp-title h1").children){//wecan't set our own h1 as that will mess up custom content.//thecssdependsontheh1,butthescreenreaderwon't find it this way.x.setAttribute("role","presentation");};
> i'm surprised everytime the jupyter logo sends me to the file tree. right now, the first thing you tab to tries to send you to another page. feels weird.
the changes below communicate the current semantics, but the feel of this experience should be reconsidered.
3
i'm surprised everytime the jupyter logo sends me to the file tree. right now, the first thing you tab to tries to send you to another page. feels weird.
the changes below communicate the current semantics, but the feel of this experience should be reconsidered.
%%javascript//itisgoingtomakenosensetoanyonethatthejupyterlabelsendsyoutoopenfilesdocument.querySelectorAll("#top-panel #jp-NotebookLogo").forEach((x,i)=>{x.setAttribute("title","Open File Browser in a New Tab");x.setAttribute("alt","Open File Browser in a New Tab");});
## the notebook cell regions
it was found, in a single notebook mode, that some assistive tech users liked finding cells as landmarks especially in long notebooks. we can add more complicated semantics later, the feed pattern makes more sense in reading html notebooks.
~~the feed pattern is read mode pattern for identifying units of content is a potentially infinite scrolling element. we use this pattern because it introduces the minimal aria semantics to add order.~~
it was found, in a single notebook mode, that some assistive tech users liked finding cells as landmarks especially in long notebooks. we can add more complicated semantics later, the feed pattern makes more sense in reading html notebooks.
the feed pattern is read mode pattern for identifying units of content is a potentially infinite scrolling element. we use this pattern because it introduces the minimal aria semantics to add order.
<!-- for each of the cells, we give them an article role. each cell is labelled by their name with information about the cell type.
>> some assistive tech can quickly nagivate articles. -->
### output area fixes
i am very not confident about the output semantics. my efforts were to understand the rendered cell's landmarks. the output semantics are pure presentation in reading mode, but editting mode is several HCI PhDs.
right now, i'm only comfortable calling the outputs a group, this means they may be announced by a screen reader to provide some relative position. on disk, in the notebook format, outputs are a list of structures, as are cells, and it might make the most sense to employ a nested feed pattern. when you start to thinking about async updates then ordering is out the window.
i am very not confident about the output semantics. my efforts were to understand the rendered cell's landmarks. the output semantics are pure presentation in reading mode, but editting mode is several HCI PhDs.
right now, i'm only comfortable calling the outputs a group, this means they may be announced by a screen reader to provide some relative position. on disk, in the notebook format, outputs are a list of structures, as are cells, and it might make the most sense to employ a nested feed pattern. when you start to thinking about async updates then ordering is out the window.
## conclusion*the output area is where the research stops. it is less though out than the others. announcements are part of the equation too for the proper assistive experience.
*there are significant follow up work to improve the whole experience.
the output area is where the research stops. it is less though out than the others. announcements are part of the equation too for the proper assistive experience.
there are significant follow up work to improve the whole experience.