tutorialkit icon indicating copy to clipboard operation
tutorialkit copied to clipboard

Visually hidden terminal is present in tab order and accessibility tree

Open AriPerkkio opened this issue 1 year ago • 1 comments

Describe the bug

When terminal is hidden by default, it's still possible to navigate to that hidden element with keyboard or assistive technologies. Even writing commands to the terminal works.

Link to a StackBlitz project which shows the error

No response

Steps to reproduce

  1. Create lesson with:
---
type: lesson
title: Default
mainCommand: ''
prepareCommands: []
terminal:
  panels: terminal
---

# Terminal test - Default
  1. Navigate to Toggle terminal with keyboard
  2. Navigate 2-3 tab stops more
  3. Focus is now on visually invisible element
  4. Write commands like npm start
  5. Vite server from template starts

Expected behavior

When terminal is not visually present, it should not be part of tab order or accessibility tree. Maybe it shouldn't even be in the DOM.

Screenshots

JS console logs the document.activeElement while I'm navigating the DOM with keyboard. When textarea is reached, I'm writing npm run start.

https://github.com/user-attachments/assets/2511a479-d49f-4413-9301-3a646676a9e2

Platform

  • TutorialKit version: 0.1.4

Additional context

No response

AriPerkkio avatar Aug 15 '24 15:08 AriPerkkio