#48952: feature request: make freeciv fully accessible to screen reader users Open Date: 2023-11-07 08:18 Last Update: 2023-11-08 04:29 URL for this Ticket: https://osdn.net//projects/freeciv/ticket/48952 RSS feed for this Ticket: https://osdn.net/ticket/ticket_rss.php?group_id=12505&tid=48952 --------------------------------------------------------------------- Last Changes/Comment on this Ticket: 2023-11-08 04:29 Updated by: lilmike Comment: Reply To cazfi Great to hear that gtk's accessibility features already provide us a jump start. I wonder if Qt-client is the same, benefiting from Qt's accessibility features. Which version are you using, so we know we're talking about the same one? As you mention coding, I assume you would have the skills to get development version sources, and build from those. I'd say we would be targeting freeciv-3.1 with this. Freeciv-3.0.9 is coming out next weekend, and freeciv-3.1.0 might get released earlier than 3.0.10 - if latter gets released at all. I have no idea of what to do with the map. For sure there's a lot of information packed about each tile - maybe you can get some idea based on what "hold middle-button" -popup tells about them. Can we locate the problematic toggles? Hello, 1. My friend tried qt client and said it was also similarly accessible. 2. I'm using 3.0,7_2 from void linux (I notice it's one patch version out of date, but this almost certainly does not change much about accessibility). My friend who tried the qt version used a build from git, but again I suspect nothing major has changed. 3. The command I run is freeciv-gtk3.22. 4. Yes, I can definitely grab developments version to test and (maybe) help code on. I'm not great with c, and I've never used qt or gtk in any language, but there's always time to learn :-). 5. The map will be an interesting challenge for sure. My personal recommendation would be to add some keyboard shortcuts to navigate the map tile by tile (not moving, but more like just panning for sighted users). When using said keyboard shortcuts, it should provide a very condensed summary of what the tile is, for example terrain, if it's in a city or has something built on it... But no fine details. For the details of a map tile, we'd need to add a keyboard shortcut to open an info window for the tile, as most blind people do not use a mouse at all. I don't know how the map is presented on screen -- is it a custom gtk/qt widget, or simply an image that gets drawn? If the former, the gtk/qt accessibility interfaces could theoretically be implemented for the custom control to make it accessible, if the latter, we would most likely want to add an accessibility toggle for a "replacement" map that *does* consist of standard widgets. Something like a table of map nodes. All of these are my best guesses at what might fit, in the end the project team will need to decide what fits the project best, but in my experience these would be the ways to go about making the map accessible. 6. I can't easily identify the toggle in question currently, except to say that it causes a window to open when pressed, and close when turned off. Maybe it makes part of the interface float, or separate somehow? 7. Something else I would mention is that to make the game optimal, we would need to add speech notifications to important events, anything that would normally flash on the screen, or cause some otherwise visual indication would need to make a sound (which most probably do), but also speak through synthesized speech. Don't worry, synthesized speech is not hard, and I know at least qt has factories for it out of the box, gtk *might* as well, I'm not sure. But if no facility is provided in gtk, it's pretty much as simple as linking to speech-dispatcher (libspeechd.so) on linux, sapi and/or other screen readers on windows, and mac speech synthesis on mac (for any of these platforms that are supported), and speaking a message through it. No voice recording would need to be done, as the speech generation is all handled by the computer side software. Sound recording/obtaining may or may not be needed, depending if these events already make sound. 8. I know this all sounds like alot, but once you get into it it's a somewhat large, but manageable change. Ideally, it would have no impact whatsoever on sighted users. Let me know what else you need, I'm very willing to help, as this is literally the closest to a 100% accessible turn based strategy/civ builder the blind community have ever had, and it's a "mainstream" game to boot lol. I put that in quotes to mean it is not specifically designed for blind people, even if it is or isn't commonly recognized or played (I don't know this part). -Michael. --------------------------------------------------------------------- Ticket Status: Reporter: lilmike Owner: (None) Type: Feature Requests Status: Open Priority: 5 - Medium MileStone: (None) Component: (None) Severity: 5 - Medium Resolution: None --------------------------------------------------------------------- Ticket details: Hiya, I'm a blind user of the linux operating system, and I found your game in my package repositories. I downloaded the gtk version, as I hoped it might be accessible given it uses gtk, and it was actually very accessible so far, except for a few important things: 1. The map is not made accessible through gtk, so I don't know what the map looks like with a screen reader. This could be fixed if using a custom control by implementing the accessibility apis on it, or by changing the map to use natively accessible controls, or having an accessibility option for the map. 2. A few toggle buttons seem to be unlabeled, so I don't know what they do. One I notice my best guess is that it turns on or off full screen. Other than that, what I was able to do so far was actually very accessible, and I would absolutely love to see this game become 100% screen reader friendly. I would be willing to colaborate on anything needed, testing, ideas, maybe even some code, just let me know how I can help :-) -Michael. -- Ticket information of Freeciv project Freeciv Project is hosted on OSDN Project URL: https://osdn.net/projects/freeciv/ OSDN: https://osdn.net URL for this Ticket: https://osdn.net/projects/freeciv/ticket/48952 RSS feed for this Ticket: https://osdn.net/ticket/ticket_rss.php?group_id=12505&tid=48952