Passage text can't be edited with the NVDA screen reader
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:
- Run the NVDA screen reader
- Select a passage and choose edit
- 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.)
- [X] I have done a search and believe that an issue does not already exist for this bug in the GitHub repository.
- [X] If this problem is occurring with the app version of Twine, it still happens after I remove the
user.cssfile from my Twine folder. (You would've added this file yourself. If you don't understand this question, you can safely check this box.) - [X] I have read and agree to abide by this project's Code of Conduct.
Ah, I see that CodeMirror < 6 is indeed being used in package.json.
Updating to CodeMirror 6 should fix the issue.
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.
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.
@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
Hi.! Super thrilled to be able to comment that this is now fixed. You need to disable the enhanced editor, which you can do by:
- creating a new story
- go to the twine tab
- go to preferences
- toggle use enhanced editors
As far as I can tell this does need to be done with every story, but interacting with the text of the passage editor is now doable!
@tangela19 thanks for bumping this!
The preference applies to all stories, not just the current one.