Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Passage text can't be edited with the NVDA screen reader #1513

Open
3 of 4 tasks
Neurrone opened this issue Apr 3, 2024 · 4 comments
Open
3 of 4 tasks

Passage text can't be edited with the NVDA screen reader #1513

Neurrone opened this issue Apr 3, 2024 · 4 comments
Labels
bug Something isn't working P2 (should) Usage is significantly impeded, enhancements to cover major functionality gaps

Comments

@Neurrone
Copy link

Neurrone commented Apr 3, 2024

Describe the bug.

I'm using the NVDA screen reader with the desktop application.

When editing passage text, it reads the text in the passage. However, pressing the arrow keys within the edit field to move around does not produce any speech output, making it difficult to work with passage text.

A workaround for this issue is selecting all text, pasting it into a notepad window, editing it then pasting it back into the passage edit field. This works but is definitely not ideal.

Steps to reproduce:

  1. Run the NVDA screen reader
  2. Select a passage and choose edit
  3. Press the arrow keys in the edit field

Expected behavior:

NVDA announces the character under the cursor. Instead, it only reads blank

Additional context on this problem.

I haven't looked at the code in this repository yet, but this issue happens if CodeMirror 5 and below is used for the edit field. Is this the component used for the edit field by any chance?

Twine version number

2.8.1

Does this problem occur with the web version of Twine or the desktop app?

Desktop app

What operating system does this problem occur on?

Windows

If this problem is occurring with the web version of Twine, what browser does it occur on?

None

Presubmission checklist

  • I am interested in working on code that would fix this bug. (This is not required to submit a bug report.)
  • I have done a search and believe that an issue does not already exist for this bug in the GitHub repository.
  • If this problem is occurring with the app version of Twine, it still happens after I remove the user.css file from my Twine folder. (You would've added this file yourself. If you don't understand this question, you can safely check this box.)
  • I have read and agree to abide by this project's Code of Conduct.
@Neurrone Neurrone added the bug Something isn't working label Apr 3, 2024
@Neurrone
Copy link
Author

Neurrone commented Apr 3, 2024

Ah, I see that CodeMirror < 6 is indeed being used in package.json.

Updating to CodeMirror 6 should fix the issue.

@klembot
Copy link
Owner

klembot commented Apr 4, 2024

Appreciate the feedback! This is a great reason to upgrade to CM 6. It’s something that’s been suggested in the past; the main obstacle is the level of effort involved in upgrading, as it sounds like a CM 6 is a pretty big change from 5.

@klembot klembot added the P2 (should) Usage is significantly impeded, enhancements to cover major functionality gaps label Apr 4, 2024
@Neurrone
Copy link
Author

Neurrone commented Apr 4, 2024

How extensive is the usage of Codemirror? From the migration guide, it seems like it shouldn't be too difficult unless there are plugins or other advanced functionality being used.

@klembot
Copy link
Owner

klembot commented Apr 5, 2024

@Neurrone we use CodeMirror for passage editors as well as the CSS and JS editor dialog. What adds more complexity is that story formats can now extend Twine using CM modes and commands, so we'd need to update the API for that based on how things work in 6. Docs on this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working P2 (should) Usage is significantly impeded, enhancements to cover major functionality gaps
Projects
None yet
Development

No branches or pull requests

2 participants