-
-
Notifications
You must be signed in to change notification settings - Fork 247
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
Screen Reader Support #1283
Comments
Hi, thanks for your interest! What you see is the latest that Mudlet has. Mudlet doesn't have the equivalent of that Mushclient callback, but it does use Qt, which has support for accessibility: https://blog.qt.io/blog/2012/06/18/qt-5-accessibility-apis. So in theory, exposing Mudlet to Qt's accessibility engine should do the trick in a cross-platform manner. If you'd like to give it a go, instructions on building Mudlet are available here! Happy to help with anything if you'd like help. |
on linux the env: |
Yes it's a custom widget for which a11y support isn't implemented, I think that'll be the biggest stumbling block - have a look and let us know. |
woe, that was an fast reply :). But let me check this when i stay at home. I m not blind by myself. But my girlfrind is. so I m interested in fixing a11y issues :). case that you answered that fast i assume you would be intersted in have it fixed too. cheers chrys |
Yeah, that would be the one. It's not something I can pick up right now, but I can certainly help review if you start a PR. |
Ok, i would try to hammer it in. But i assume you can tell me more quick what implements the output window (without need an deeper investigation): |
Yep it's the latter, TConsole. |
Hey, just jumping in to suppport this. On Linux with Orca it's mostly the same issues. However, the connect to a world.. box isn't displayed properly in LInux, f.ex you can't delete a profile even if you flat review. Hitting tab acts as if the delete buton's not a buton and skips to the text box. Hitting the key to emulate a left click doesn't work either. That being said, I'm just reporting what I've found. |
Thanks for reminding this issue, I find also very important. In fact, we now have a nice "a11y" label to group similar issues here on github in the future. A few months back was the following attempt to gather and list a few information about problems and solutions already: #1768 Maybe you find interesting read. |
Right, thanks for that information. i was not aware of. |
I wonder if there is a reason for an custom widget instead of using QTextEdit what should provide all needed after an first look. It aso should make caret working ootb as nice side effect. Is there a reason for? Otherwise i would try to convert this instead of adding a qaccessibleinterface |
Yes, performance and scripting with Lua. |
The trouble you will have is that as well as the text displayed in the This means that we have to do some low-level work to paint the text on the screen ( |
I don't think the a11y interface needs to be at the per-character level - it doesn't need to report colours and etc to the user when reading out normal text, does it? |
hm, i still do not understand why an presentation widget is used to make LUA scripting possible. to me it sounds more like something what should to be handled in deeper levels but not on viewer level. Maybe i can take a look those days to make it more clear to me. Maybe its not so easy to separate the class hierarchy here cleanly somehow.
sounds like using XML/ HTML or TeX would be an good idea, this transfers the information already and is unlimited extendable with new format information without need to change the deep structures every time you want to extend it. there are also a lot of fast viewing widgets for that kind of information.
screen readers has the ability to read the format information. but for sure its also not a need to play most of the games and just an gimmick in first place. |
Yeah, the performance when we started out wasn't good enough - and benchmarking both widgets, then ripping out the existing one and putting the default back in would be more work than plugging a11y into what we've got. |
🤔 I think I had concerns that the VI user would need to be aware of some visual formatting details where the MUD uses that to impart important details (though working out which ones is a separate issue) and the text painting code would be working a grapheme at a time whereas a Screen Reader is probably expecting text in chunks of, say, a sentence at a time. {Actually if it is a sentence at a time we may need to thing a little more about End-of-Line handling so that the reader does not pause at that point - or maybe it will need to do so for multi-line texts so the user can get a feel for what is being presented on screen?} 💭 IIRC Mudlet does not really distinguish internally between LF-CR that it inserts to fit the text to the specified wrapping and those that are included by the sender - we might want to revisit/check how we do this for other reasons (better handling of non-Latinate languages where non-monospaced glyphs get pulled in to show graphemes not in the specified font for a particular |
For an example of where the formatting might be important, DikuMuds and some derivatives mark up the names of enemies in a different colour to warn the user when they appear and perform actions which obviously are likely to be hostile. The main MUD I have played uses asterisks around a red colour applied to the enamy's *name* when it does. |
Sorry, I'm not certain on what are you saying - but we can look at existing clients with screenreader support to figure out how it ought to work. |
I was pondering about:
|
That makes sense, yep. We should also look at how Qt's accessibility APi expects it as... |
For me, most MUD's that show colored text for things also have accessibility settings to prefix the thing with a character, like "you see a #door, a #building, and a #window here," shows that those items are interactable in, say, the Clok MUD. So, for now, I don't think sending formatted text is too much of a priority for now. |
Hello folks, I am interested inthis. I currently use mushclient, but it is a bit tricky to add, for example, mapper. It has no built-in gmcp neither, these functionality are implemented in lua, and they're a bit slow. |
Hiya, |
Linux and macOS testing for main window accessibility is ready for testing, have a look at the links in #6090 (comment). Windows is under development and will come in the future. Please file anything you find as separate issues and thank you! |
Windows is ready for testing now as well, same link. I'll close this issue as #3342 duplicates this one and we're making progress on this 👍 |
Hi,
I've seen some posts dating several years ago on this, am wondering if there's been any updates on this?
Installing the latest version of Mudlet and testing with NVDA, the 2 primary problems I've found are:
The text was updated successfully, but these errors were encountered: