# Discourse with a screen reader

**URL:** https://meta.discourse.org/t/discourse-with-a-screen-reader/178105
**Category:** UX
**Tags:** accessibility, screen-reader
**Created:** [February 2, 2021, 1:17pm UTC](https://meta.discourse.org/t/discourse-with-a-screen-reader/178105 "2021-02-02T13:17:53Z")
**Posts on this page:** 20
**Page:** 5

<div class="post-metadata">

### Author: ![Osama](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/osama/32/98013_2.png) [@Osama](https://meta.discourse.org/u/Osama)
#### Post date: [November 30, 2021, 8:02pm UTC](https://meta.discourse.org/t/discourse-with-a-screen-reader/178105/87 "2021-11-30T20:02:48Z")

</div>

> [@nolan](#):
>
> Whenever I don’t sign up for a Discourse, I’m told that I should in part because the forum remembers where I stopped reading. This has never worked for me with a screen reader. How is it supposed to work? Should clicking the link move focus to whichever post I read last?

> [@nolan](#):
>
> When I click a topic, keyboard focus doesn’t move automatically to the newest post. I’m not sure what’s supposed to happen here, so maybe there’s a different link I need to accomplish this? As such, keeping up with new posts is hard, and something I still have to do manually.

Last week I used Discourse with a screen reader (NVDA) for a day and this problem was my #1 frustration, so I very much want to fix it.

When you enter a topic from a topics list like `/latest`, Discourse scrolls you down to and highlights the first unread post in the topic or to the last post if there are no unread posts. This works great for sighted users, however screen reader users are not made aware of this because the focus is not moved at all when you enter a topic so screen readers will just start reading from the top of the page.

I’ve deployed a theme component here on Meta to test my fix for this problem. Can anyone that uses a screen reader test the fix and see it it makes things better (or worse 😅) please? Enter a random topic, read a few posts, leave the topic and enter it again, can you easily tell that Discourse put you at the first unread post? Any improvements we can make?

---

<div class="post-metadata">

### Author: ![ndarilek](https://avatars.discourse-cdn.com/v4/letter/n/73ab20/32.png) [@ndarilek](https://meta.discourse.org/u/ndarilek)
#### Post date: [December 1, 2021, 5:45am UTC](https://meta.discourse.org/t/discourse-with-a-screen-reader/178105/88 "2021-12-01T05:45:06Z")

</div>

Oh this is very nice and does seem to help quite a bit, though I haven’t tested it exhaustively. I do think it’s a solid improvement.

One suggestion I’d make: If I click a topic, read to the end, then press Back in my browser, is mouse focus kept on the previously-clicked topic? I can tell you right now that my _next_ biggest frustration will be having to navigate back to the topic I clicked into in order to find the next topic. If I click a topic and press Back, could keyboard focus be placed on that topic’s link in the list?

Oh and BTW, there’s some weird control labeled something like “Select % name or value” below the last post in a topic. Is something not correctly escaped? I don’t know the exact value of what was spoken since I’d probably have to copy the phrase directly from NVDA’s speech buffer. It didn’t appear in the page text itself.

---

<div class="post-metadata">

### Author: ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)
#### Post date: [December 14, 2021, 11:57pm UTC](https://meta.discourse.org/t/discourse-with-a-screen-reader/178105/91 "2021-12-14T23:57:27Z")

</div>

@osama I think there is a small regression here, tested on both Chrome and Safari. As I scroll through the topic list, there is a focus “ring” on the first topic of the next payload. Here is an example:

 ![image](https://global.discourse-cdn.com/meta/original/3X/b/7/b7129492361d5f5708c03f694d84843beb2bcabb.png)

Started noticing this just now, likely related to the just-merged [A11Y: Focus last viewed topic in topic lists (#15300) · discourse/discourse@76aeee6 · GitHub](https://github.com/discourse/discourse/commit/76aeee6735ea06302dd9c09cf2bd2ce0e01e827e)

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [December 15, 2021, 1:32am UTC](https://meta.discourse.org/t/discourse-with-a-screen-reader/178105/92 "2021-12-15T01:32:17Z")

</div>

reverting here for now,

[https://github.com/discourse/discourse/pull/15304](https://github.com/discourse/discourse/pull/15304)

---

<div class="post-metadata">

### Author: ![adress](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/adress/32/253011_2.png) [@adress](https://meta.discourse.org/u/adress)
#### Post date: [March 14, 2022, 12:27pm UTC](https://meta.discourse.org/t/discourse-with-a-screen-reader/178105/94 "2022-03-14T12:27:17Z")

</div>

@ndarilek how is the current experience for screen reader users? I’m looking for a discussion board to integrate in a learning management system that was built with screen reader users in mind. Thanks.

---

<div class="post-metadata">

### Author: ![nolan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nolan/32/208102_2.png) [@nolan](https://meta.discourse.org/u/nolan)
#### Post date: [March 14, 2022, 2:58pm UTC](https://meta.discourse.org/t/discourse-with-a-screen-reader/178105/95 "2022-03-14T14:58:00Z")

</div>

A lot better than it used to be, and very usable, though I’m a bit worried that it may have stalled.

In particular, I’m not sure my concerns from post 88 were addressed, and as I predicted, these are a pretty big annoyance for me now that many of these accessibility changes have propagated out to Discourse installations. If I click a topic, read through it, then click Back, focus seems to land way up top in the originating thread list. So for instance, if I’m looking at the 50th post in a category, click it, read through, then click Back, focus is then thrown to something like the 20th post in the originating list. I then have to return to where I was (I.e. the 50th post where I clicked the link) then continue browsing. This usually involves me having to remember the thread title, hoping it was unique enough, then searching the page for that title to hopefully land on the link I’d originally clicked. I’m guessing it returns focus to the first visible post link in the category, but it should _really_ return focus to the post that was last opened. It sounds like a small thing, but multiply it over 5-10 reads with me having to take a minute or two to refind my original position, and I usually fatigue out of participating in the community after a few repeats. I’ve literally stopped reading a number of Discourse forums not because I didn’t find them interesting and want to participate, but because the friction of having to find my focus again for the half dozenth time was a bit too much.

So in short, I’d say it isn’t bad and is certainly a lot better than it used to be. But I really wish this issue in particular could get addressed, because if screen reader users are tapping out after a few minute-long sessions of “find the old focus,” then those are voices that aren’t participating in your community. I know resources may be spread a bit thin, but as an accessibility professional, I’d feel confident in saying that this level of friction is likely a bit too much to encourage the kind of long-term participation most Discourse communities hope to achieve.

Having said that, I’d still like to take a moment to acknowledge that things are _much_ better than they were a bit over a year ago. Thanks a bunch for that!

---

<div class="post-metadata">

### Author: ![adress](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/adress/32/253011_2.png) [@adress](https://meta.discourse.org/u/adress)
#### Post date: [March 14, 2022, 3:05pm UTC](https://meta.discourse.org/t/discourse-with-a-screen-reader/178105/96 "2022-03-14T15:05:43Z")

</div>

Thank you for this reply. I do hesitate because we are looking to build long term participation in our community and the focus issue does not seem minor.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [March 14, 2022, 5:33pm UTC](https://meta.discourse.org/t/discourse-with-a-screen-reader/178105/97 "2022-03-14T17:33:58Z")

</div>

That sounds like a problem that should be fixed, and I think that someone might, but that’s not my job. 🙂

A thing that you might try as a workaround until then is to continue scolling down to the bottom of the topic where the suggested topics are. It’s a decent possibility that one or more of those topics will be an appropriate place to go next. I don’t know if it’ll help or not.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [March 15, 2022, 10:42pm UTC](https://meta.discourse.org/t/discourse-with-a-screen-reader/178105/98 "2022-03-15T22:42:55Z")

</div>

Nolan, thank you so much for baring with us here! I am going to make sure we invest some time over the next month resolving the focus issue (we test on NVDA, hopefully it will catch JAWS and orca as well)

Let us know any niggles (or major annoyances) you discover, we want your experience using Discourse to be delightful.

Just this month @kris.kotlarek implemented aria labels for our composer warnings. This means that if you try to submit a topic and forget to enter a title we properly call out that it is missing!

---

<div class="post-metadata">

### Author: ![Osama](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/osama/32/98013_2.png) [@Osama](https://meta.discourse.org/u/Osama)
#### Post date: [March 30, 2022, 9:36pm UTC](https://meta.discourse.org/t/discourse-with-a-screen-reader/178105/102 "2022-03-30T21:36:12Z")

</div>

> [@ndarilek](#):
>
> I can tell you right now that my _next_ biggest frustration will be having to navigate back to the topic I clicked into in order to find the next topic.

Hi Nolan, I’m very sorry that this has taken us so long to fix, but I have some good news! The issue was fixed last week and since then it’s been deployed to every Discourse instance that we host including this site. Could you please try and let us know if it’s working as you’d expect? Any additional improvements would you like us to make?

Also, the “Select % name of value” problem that mentioned here:

> [@ndarilek](#):
>
> Oh and BTW, there’s some weird control labeled something like “Select % name or value” below the last post in a topic. Is something not correctly escaped? I don’t know the exact value of what was spoken since I’d probably have to copy the phrase directly from NVDA’s speech buffer. It didn’t appear in the page text itself.

was fixed by @j.jaffeux back in January. Do you still encounter that problem?

---

<div class="post-metadata">

### Author: ![nolan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nolan/32/208102_2.png) [@nolan](https://meta.discourse.org/u/nolan)
#### Post date: [March 30, 2022, 11:48pm UTC](https://meta.discourse.org/t/discourse-with-a-screen-reader/178105/103 "2022-03-30T23:48:25Z")

</div>

Oh this is _very_ nice. I browsed another instance for a few minutes and it behaved rather well. Focus correctly returned to the previous topic when backing out, or to my place in that topic when I returned.

Thanks! This makes Discourse much more enjoyable to use. 🙂

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [March 31, 2022, 6:24pm UTC](https://meta.discourse.org/t/discourse-with-a-screen-reader/178105/104 "2022-03-31T18:24:19Z")

</div>

Thank you so much for your patience with us. We are committed to making Discourse work well for _everyone_. 🙇

---

<div class="post-metadata">

### Author: ![thoeg](https://avatars.discourse-cdn.com/v4/letter/t/258eb7/32.png) [@thoeg](https://meta.discourse.org/u/thoeg)
#### Post date: [September 18, 2022, 8:44am UTC](https://meta.discourse.org/t/discourse-with-a-screen-reader/178105/105 "2022-09-18T08:44:47Z")

</div>

HI,

I am bak on a few things I would like to see improved for screen reader users.  
Over the last days I have been wanting to use the users list on my small forum, but have found the nice table to be in reality useless.  
[Brugere - Discourse Meta](https://meta.discourse.org/u?order=post_count)

It seems that the top row is filled with buttons that actually could have been the description for the colum in the table. My guess is that each of these buttons can rearrange the data in the table. Very nice but as long as none of the screen readers have any chance of figuring out the colum title the table is too complex with 7 colums to be o of any us as it is currently coded. Until you can navigate the table and have the colum title read out this is almost unusable.

---

<div class="post-metadata">

### Author: ![thoeg](https://avatars.discourse-cdn.com/v4/letter/t/258eb7/32.png) [@thoeg](https://meta.discourse.org/u/thoeg)
#### Post date: [September 18, 2022, 8:48am UTC](https://meta.discourse.org/t/discourse-with-a-screen-reader/178105/106 "2022-09-18T08:48:29Z")

</div>

Another issue especially in long threds it would be nice to be sure if you are answering to another post in a thread or creating your “own” answer. Currently the button read “reply” with some extra generic text no matter what or who you are replying too. It would be nice if the name of the person who answer or the number of the topic could be added to the reply button. and that the reply to topic but not to another post in the topic would be refrained differently.

,

---

<div class="post-metadata">

### Author: ![Roman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/roman/32/157504_2.png) [@Roman](https://meta.discourse.org/u/Roman)
#### Post date: [September 22, 2022, 6:11pm UTC](https://meta.discourse.org/t/discourse-with-a-screen-reader/178105/107 "2022-09-22T18:11:18Z")

</div>

Hey Claus,

Thank you for taking the time to let us know about these issues. I’ll take a look early next week and see how hard it would be to address them.

---

<div class="post-metadata">

### Author: ![thoeg](https://avatars.discourse-cdn.com/v4/letter/t/258eb7/32.png) [@thoeg](https://meta.discourse.org/u/thoeg)
#### Post date: [October 17, 2022, 8:09am UTC](https://meta.discourse.org/t/discourse-with-a-screen-reader/178105/108 "2022-10-17T08:09:18Z")

</div>

Fantastic this seem to have been fixed in beta 10. Very nice improvement.

---

<div class="post-metadata">

### Author: ![thoeg](https://avatars.discourse-cdn.com/v4/letter/t/258eb7/32.png) [@thoeg](https://meta.discourse.org/u/thoeg)
#### Post date: [October 17, 2022, 8:41am UTC](https://meta.discourse.org/t/discourse-with-a-screen-reader/178105/109 "2022-10-17T08:41:00Z")

</div>

So I am back with new frustrations. This seem to happen for me both with jaws, and NVDA, on Edge 106 and Chrome 106.  
When you look at the table with the list of topics, there are 2 ways to get to the last reply. Either you could press the "this topic has x replies with… and you would get the choice of either go to the first or last post in the topic. Or you could press the “XX time” indication of when the last post last comment was added to the post. In both cases you could expect focus to move tto the post. However this does not happen anymore. Nothing happens when you press any of the links/buttons as described. and the screen reader focus is left at the top of the page.  
I have not checked how firefox behaves to rule out that something in Chromium has caused this new behavior.

---

<div class="post-metadata">

### Author: ![thoeg](https://avatars.discourse-cdn.com/v4/letter/t/258eb7/32.png) [@thoeg](https://meta.discourse.org/u/thoeg)
#### Post date: [November 11, 2022, 11:28am UTC](https://meta.discourse.org/t/discourse-with-a-screen-reader/178105/114 "2022-11-11T11:28:21Z")

</div>

Just a small thing to add tothis one: Jaws will at least both pickup the label not translated currently and the old more generic title that is translated on this r reply button jaws sees:

label=Reply to post #107 by @Roman  
title=begynd at skrive et svar til dette indlæg

I could easily live without the generic title text only problem may be that the new label string is not currently translated.

---

<div class="post-metadata">

### Author: ![thoeg](https://avatars.discourse-cdn.com/v4/letter/t/258eb7/32.png) [@thoeg](https://meta.discourse.org/u/thoeg)
#### Post date: [November 18, 2022, 8:11am UTC](https://meta.discourse.org/t/discourse-with-a-screen-reader/178105/115 "2022-11-18T08:11:39Z")

</div>

I jus changed my default browser to firefox nightly and here focus is moved to the relevant post as it used to be in the chromium based browsers, so this is a browser problem it seems, however really annoying if you are using Chrome or Edge with a screen reader.  
Claus

---

<div class="post-metadata">

### Author: ![keegan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/keegan/32/383395_2.png) [@keegan](https://meta.discourse.org/u/keegan)
#### Post date: [January 12, 2023, 4:44pm UTC](https://meta.discourse.org/t/discourse-with-a-screen-reader/178105/118 "2023-01-12T16:44:05Z")

</div>

Hi @thoeg, thanks for submitting this issue.

I have been trying to reproduce this, but have been unable to do so. In my testing, it seems to be working correctly for me both on Windows and macOS in all the major browsers with Narrator, VoiceOver, NVDA, and JAWS.

It may have simply been a browser issue. Now that some time has passed and new updates have arrived, could you give it another try to see if you’re still experiencing this problem, perhaps on Chrome 109?

[Previous page](https://meta.discourse.org/t/discourse-with-a-screen-reader/178105.md?page=4)

[Next page](https://meta.discourse.org/t/discourse-with-a-screen-reader/178105.md?page=6)
