Skip to content

Scrollable outputs are not keyboard-accessible #794

@choldgraf

Description

@choldgraf

thebe-core makes cell outputs scrollable but not focusable (e.g. tabIndex=0), so keyboard users can't scroll wide outputs (e.g. pandas DataFrames, wide plotly plots).

I think the problem is that this sets an overflow, but we don't set tabIndex etc on the elements that it applies to:

/* Overides for jupyter styles */
.thebe-output .jp-OutputArea-child > .lm-Widget {
overflow: auto;
}

How to fix

I think we'd need to dynamically sense whether the output is going to overflow, and apply tabIndex=0 and role="region" etc if it does, either with a MutationObserver or ResizeObserver.

Notes

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions