I'm a blind user, and I realized that llcon is not accessible with ascreen reader at all. I'm not sure how GUI of Llcon is developed, but is that possible to develop GUI using standard Windows native GUI components? I think the idea of Llcon is wonderful, so I'd like to try it!
I'm pretty sure there are many blind musicians who want to try it as well when it is accessible. I'd really appreciate if you take it into consideration.
llcon uses QT which should have accessibility technologies included. Unfortunately, I have no experience with this.
What do you mean by "not accessible with ascreen reader at all"? Do you mean that the GUI controls cannot be identified?
Are there free tool available with which I could test the screen reader issue here at my PC?
The mainstream screen readers are Jaws for Windows and window Eye, but they're quite expensive.
You can try open source screen reader called nvda which can be found at http://www.nvda-project.org/.
If you use qt4, you would need to do some extra coding to make the gui accessible. Google "qt4 accessibility", and you'll find some information. Thank you so much for your consideration.
I was doing some research regarding accessibility in Qt. It seems that assigning a text and a short description to each GUI control is very easy. But implementing further accessibile information like the value of a control seems to be quite complex.
Do you think having a text and short description for each control would make it possible to use the llcon software for you?
Thanks so much for the consideration. I haven't used it, so I have no idea how much information I'd need in order to use it successfully.
I guess it'd be helpful if you test it with nvda screen reader I mentioned.
Btw, the developer of Teamtalk a popular voice chat among blind community using celt codec is also trying to implement accessibility using qt4. Maybe you guys can exchange information regarding what works and what doesn't. It might be helpful.
I already installed nvda and tried it out with the new llcon version. But I have no experience with screen readers. So it is hard for me to judge if the result is ok or not.
I think for using llcon it is necessary to know where the connect button is located and where you can enter the URL of the server. This can be done if these control have an accessibility name to identify them (I guess).
More advanced settings require the General Settings dialog to be opened. If I use the screen reader correctly, the menus do not give enough information right now. When I move with the mouse over it, it just says always: "and another object" which is not very informative…
I'll try to find a solution which does not take too much time and then I'll create a version for you to test. Then you can give me feedback if it is now usable or not.
Another good way is to attach shortcuts to your functions. In that way, I know for sure I'm activating the right things. Also sighted people can use the shortcuts too.
Oh yeah, it'd be great if you can make the server GUI accessible as well so I can run my own server. I know you said sliders are harder to make it accessible, but I'd have a problem if I can't control the volume/pan for each user to mix when there are more than two users jamming.
Btw, can llcon run on 64-bit Windows?
thanks a lot! I can't wait to test it.
Lets do it setp by step :-)
Please try out the following installation and provide me with your feedback:
This is a good start! Since I can't use mouse, I have to navigate around the program using only the keyboard. I can press tab and it moves around different controls. There's a server address input. However, I can't read if I type something. I assume it's an editable box. If you run the program and tab around until NVDA says "server address input", can you type something there? If you use your arrow left and right, does NVDA reads what you type character by character?
Also, if I press alt, it brings up a menu, and if I press left or right arrows, it cycles between view and help menu. However, if I go down, it can't read the items. I suppose you're still labeling them.
I'm sure we'll get there, and this is a good start! At least screen readers can read something. I'll try to get more blind folks to look into this.
I have updated the installer at http://llcon.dyndns.org/llconinstaller.exe. I have now added some more accessibility text in the General Settings dialog.
I have made very strange observations with llcon. When I run it from the Microsoft Developer Studio, NVDA gives much worse results as if I run the installed llcon version. I have no idea how this comes… In the bad case, e.g., for all entries in the view menu, NVDA says "View menu". For the installed version, NVDA says the correct menu label. In the bad case, for the fader tag edit box it only says the name of the control but not the text. For the installed version, NVDA says the string in the edit box and also when you type, the current character is spoken and then the entire string is spoken. Even for sliders the current value is spoken for the installed version which makes it very usable.
I guess the issue is related to the QT libraries which are used in the two cases.
For the installed version, I tried it out with NVDA and got very good results. I tried to close my eyes and tried to operate the software and it works pretty well. There are some issues left, of course, e.g. when you press the connect button, you do not get any feedback. Also you do not know which clients are connected since the fader labels are not seen by NVDA if you only use the keyboard.
Maybe you also try out NVDA with the installed llcon version and see if you get the same results on your side.
I forgot to mention, that there are already some short cuts implemented in the llcon software.
E.g., opening the General Settings dialog: press ALT+v then press g
Opening the Chat dialog: press ALT+v then press c
ALT+o connects, ALT+i disconnects
What is "installed llcon version"? I downloaded the new link you gave me and installed it.
It seems to be the same. I can't read the editable box for server address. If I go to general setting, there's a combo box for sound card,but nvda can't read which sound card I have selected with the cursor key. Also, there are some check boxes, but NVDA can't say it is checked or not. It just say checkbox. However, the radio box for buffer works well. When I move the cursor up and down, it can read which radio box I selected.
Where can I get the installed version?
I'm not sure if you read this, but hopefully it'd be helpful.
When I read your description, it seems that you have exactly the same behaviour as I when I run the software from within the development environment.
With "installed version" I mean the version you install with the installer which you are actually using.
That also means that your and my computer must differ in some way since the installed version behaves differently on your computer. I will try to find out why.
Thanks to the links to the QT pages but I already aware of them. But they are usually talking about custom widgets while I mostly use standard GUI controls in llcon.
I found out what goes wrong with the llcon software regarding the accessibility. It seems that the qt accessibility plugin is not loaded on your computer. Since I have the development files of qt installed on my computer, somehow in that case the plugin is loaded.
I am very close to a solution.
Where can I download and install the plugin?
I have to make changes to the llcon code and modify the installer to load/use the plugin. You have to wait for me to finish that work unfortunately.
I think I have solved the plugin problem with Qt now. I have updated the installer at http://llcon.dyndns.org/llconinstaller.exe.
Please give it a try.
Thanks, this is much better! Nvda can read the status of checkboxes. Also, it can read what I selected in the combo box. When I move the cursor, it doesn't read what I selected, but if I tab to focus away from the combobox and shift+tab to refocus, it reads what I selected. This is same for the edit box for chat input message and server address. It doesn't read when I type something in there, but when I refocus, it reads it fine. If I type something, I can't read what I typed character by character (left/right cursor) or word by word (ctrl+left/right) when I'm still focussed on the edit box. This means I can't really edit what I typed.
Also, when I go to the chat history by pressing tab, it reads all the messages from beginning to end. Which means I have to hear all the previous messages in order to hear the new mesage. I guess if you can figure out how to navigate within the edit box, it would be an easy fix by making the chat history as a non-editable box. Then, I can focus to the chat history and navigate the messages with the cursor.
In the general setting, I can't navigate to ok or cancel button by pressing tab, so I can't confirm after I change my setting.
In the main window, if I use nvda navigate function (insert+numpads), I can see there are level indicators. Can you make it focusable so I can read when I go there by pressing tab?
Btw, nvda navigate function allows user to navigate other controls in a tree list structure. You can try press insert+5 for current control, 8 for parent branch (previous level), 4 for previous sibling, 6 for next sibling, 2 for first child (next level).
Also, I tried the server gui, but I didn't have much success. I guess you're still working on it.
I know this is a lot, but I just wanted to let you know. Thanks for all your help! It's coming along very well.
Also, I forgot to ask something. I have an audio interface with multiple inputs. How can I select which input to use? In the general setting, I can only select asio Sound Blaster, asio Fireface, and asio Tascam Fw1884. If I select asio fireface or tascam fw1884, I can't select which input to use. Fireface has like 10 mono inputs (or 5 stereo pare) and two adats (8+8 monos), total 26 monos or 13 stereos. thanks.
Thank you for your feedback. I'll take a look into these issues and see what I can do without having to spend too much time.
You wrote: "I can't read what I typed character by character (left/right cursor) or word by word (ctrl+left/right) when I'm still focussed on the edit box".
My comment: This feature should be implemented by Qt itself since I use the standard edit box. I hope that in future versions of Qt, these issues are addressed.
You wrote: "In the general setting, I can't navigate to ok or cancel button by pressing tab, so I can't confirm after I change my setting"
My comment: There is no ok or cancel button in the settings dialog. Each setting is applied directly to the software. You simply perform the setting and the close the dialog.
Your wrote: "there are level indicators. Can you make it focusable so I can read when I go there by pressing tab"
My comment: The level indicators are custom GUI controls I created within the llcon software. Making these accessible would mean quite some work unfortunately.
You wrote: "I tried the server gui, but I didn't have much success."
My comment: There is actually no GUI control for user input in the server. There is simply a table showing the connected clients. But actually I usually do not use any GUI for the server. On my computer I even start the server without the GUI so it runs as a kind of a service.
Regarding the chat dialog, I will see if I can find a simple solution to the problem.
In your second message you wrote: "How can I select which input to use?"
My comment: There is actually no selection for inputs implemented in the llcon software. The llcon software always uses the first two ASIO inputs.
I did some more work for the accessibility for the chat dialog. The installer at http://llcon.dyndns.org/llconinstaller.exe is updated to the new version.
The solution you proposed with the chat texts to read the messages by navigating with the cursor is not supported by the native Qt GUI control and would mean a lot of work.
I have implemented another solution. I have added a "Clear" button which can be controlled via a keyboard shortcut ALT+e. Then I implemented that the screen reader reads the complete chat history text in case a new message arrives and the chat history has the focus.
You could now operate the llcon chat dialog as follows:
- Write your text, then press ALT+e and set focus to chat history.
- If the answer arrives, it will be read by the screen reader.
- Now you can delete this text, write your answer and set the focus again to the chat history.
How do you like this?
Sorry, I was away from home for a while. That actually sounds good. However, if someone sends me a message right before I delete, I won't be able to hear it though.
Log in to post a comment.
Sign up for the SourceForge newsletter:
You seem to have CSS turned off.
Please don't fill out this field.