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

Use of screen-readers with arxiv-vanity. #1271

Open
jstoobysmith opened this issue Sep 16, 2021 · 8 comments
Open

Use of screen-readers with arxiv-vanity. #1271

jstoobysmith opened this issue Sep 16, 2021 · 8 comments

Comments

@jstoobysmith
Copy link

I am physicists but am also severely dyslexic, and find reading extremely difficult. To read documents I tend to use a screen reader (such as the one built into macs). As has been previously noted, arxiv-vanity seems to have a great prospect for been a really useful tool for those of use who rely on assistive technology.

From my point of view the main place where it fails to do this is the equations - which as far as I (or the screen reader) can tell are just rendered as normal text. It is very annoying to have to license to a sentenced spliced by the screen reader trying to pronounce greek letters, or reading each letter of an equation in turn.

Mathjax solves this issue by allowing you to change how the maths is rendered at the user side - meaning I can change it to a form which my screen reader skips over. As far as I can tell this is not the case for arxiv-vanity. It would be nice to see this and perhaps other accessibility features, at some point.

@bfirsh
Copy link
Member

bfirsh commented Sep 16, 2021

Thank you for reaching out! We would love to do more of this. See also #1001.

Funnily we actually use MathJax on the server-side for efficiency, so I expect it wouldn't be too hard to make it render on the client-side in a way that works or is skipped by screen readers.

What would be the most useful thing for you right now? To completely ignore math? I think we can also render as MathML, but just completely ignoring it somehow sounds like the quickest fix.

@jstoobysmith
Copy link
Author

Hey, thanks for responding. I saw the previous `issues' that you linked to concerning this.

For me personally having the screen reader completely skip it is preferable. Though I suspect others who i) have more sophiocated screen readers (I just use the free one on macs) ii) are visually impaired, may have different preferences. I'm not too familiar with MathML so am not sure how it works. From what I understood mathjax gives you the option to change how things are rendered client side. I just had a mess around with it and it is the SVG rendering which is skipped by my screen reader.

That said, I saw other posts concerning this that one disadvantage of using mathjax client side is speed, correct?

@bfirsh
Copy link
Member

bfirsh commented Sep 16, 2021

Great. That seems like a really quick fix, and we can do something more complex/better later.

We can probably just add aria-hidden="true" to the formulae to do this. Do you know much about how screen readers read HTML? Do you think that'd work?

@bfirsh
Copy link
Member

bfirsh commented Sep 16, 2021

And yeah – the reason we do mathjax server side is because it's really slow on the client. Maybe there's something clever we can do though at some point...

@jstoobysmith
Copy link
Author

jstoobysmith commented Sep 16, 2021

I did a test with a html file I got from arxiv-vanity, and replaced class="ltx_Math" with class="ltx_Math" aria-hidden="true" and things appeared to work nicely for mac's VoiceOver screen reader.

The way screenreaders tend to work is by moving through items in the 'accessibility tree'. The tag aria-hidden="true" simply removes said item from the tree so screen readers don't see it. This doesn't appear to work on certain text-to-speech software (specifically Mac's `Spoken content' which is slightly distinct from the VoiceOver).

@jstoobysmith
Copy link
Author

The only thing I can think of is to have the default as it currently is, but have the option through e.g. a queryable object in the URL to change it to mathjax.

@jstoobysmith
Copy link
Author

@bfirsh Do you know if there is a way to do a client side conversion from the maths language you use to mathjax?

@Sudiptobhukta
Copy link

@bfirsh Do you know if there is a way to do a client side conversion from the maths language you use to mathjax?

hey @jstoobysmith is this your issue still open, I would like to contribute to your idea as I know little basics of Mathjax and
can help a little.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants