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
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
tabIndexetc on the elements that it applies to:thebe/packages/core/src/index.css
Lines 74 to 77 in c69aae7
How to fix
I think we'd need to dynamically sense whether the output is going to overflow, and apply
tabIndex=0and role="region" etc if it does, either with a MutationObserver or ResizeObserver.Notes