4 ms·
Have you thought about how your system might be adapted for power users that have accessibility requirements, such as blind people? I'm guessing you'd rather no
by mwcampbell 4y ago
Have you thought about how your system might be adapted for power users that have accessibility requirements, such as blind people? I'm guessing you'd rather not implement the current GUI accessibility APIs, but would rather have something like Emacspeak that directly implements the alternative UI (e.g. speech output) inside the Lisp environment.
- some-mthfka 4y agoYou know, I really haven't thought about that, but now that you mention it, I have heard before that in Emacs, the advice facility is very useful to the goal. Well, all I can say is that I see no problem in adding speech output or in adding advice. The system is going to be very flexible to the end user.
- alexisread 4y agoI think the trick to all accessibility issues is actually logging/tracing. Similar to kafka, you can have consumers watching the UI log to act upon.
- some-mthfka 4y agoUpdate: I have updated the power-of-structure article with a section on accessibility. Copypasting: It's important to think about issues such as accessibility in advance. I am basing my knowledge about this issue on this article about Emacspeak. So, Rune will ask lenses to implement the surface-level text commands. Whatever text is shown or assumed to be on screen, the user will be able to copy that text programmatically. So, you could ask a spec-conformant lens stuff like "get the surface level text of the semantic unit at point". Such functions are of general utility. Next, Runic functions will be required to return some information about the results of their semantic actions. So, if you issue a delete-semantic-unit command, it will return what it has removed (and that would include the info about the surface level text as well as the data-structural unit itself). The list of such functions and their return-value properties will all be a part of the spec. So, it will be possible to automatically advice all these spec functions for any given lens to invoke the speech functionality.