Screen reader line breaks

I have a blind student who is learning R with me this semester (get ready for lots of comments!), and we've run into our first challenge. Even with screen reader support enabled, the screen reader seems not to be set up to say line breaks in RMarkdown documents. Instead, if an empty line has focus, the screen reader reads the text of the line above, but in a slightly different tone/pitch.

Any ideas for how to fix this? I suppose it's possible it's a setting in the screen reader software, but the student has said other code applications (e.g. Eclipse) do have a way to read a line break/empty line.

Is this in the R Markdown source editor, or in the R Markdown rendered output?

If the former, it's a known issue; Ace (RStudio's editor component) is basically worthless in a screen reader.

If the latter, there are some good tips on making R Markdown output accessible here:

https://r-resources.massey.ac.nz/rmarkdown/

It is the former. I had seen Joo Young Seo's talk at rstudio::global and got the sense that RStudio's screen-reader support had improved. I don't have an RStudio Server/Workbench at my institution yet, so the student and I are using rstudio.cloud because I've heard the screen reader support is better there than on the desktop app.

But it sounds like you're recommending we stop using RStudio and use perhaps the basic R GUI as our IDE?

Yes, the screen reader support on the desktop is basically non-existent due to accessibility issues on the platform RStudio Desktop is built on. We have started the transition to an accessibility-friendly platform and have several engineers working on it but it won't be ready before next year.

RStudio Server's accessibility is dramatically better (and by proxy rstudio.cloud's since it's the same tech), but the source editor in particular still is not great. One workaround you might consider is editing the code in an accessible-friendly text editor but doing everything else in RStudio; RStudio has a feature that will automatically update its editor surface when the file underneath has changed.