May 05, 2024, 01:34:04 PM *
Welcome, Guest. Please login or register.
News:
Advanced search
Pages: [1]
Print
Author Topic: accessibility of the web site for visually impaired players  (Read 1040 times)
lucasradaelli
Newbie
*
Posts: 4


« on: Nov 10, 2015, 03:16:59 PM »

Hey all, I am visually impaired and started playing chess two weeks ago. Reading on the Internet how I could study to improve, I found many many people saying that this website could be a good alternative, as I would be practicing  with the puzzles. The problem is, the board and solving the puzzles is totally inaccessible to screen readers. I would like to know if something could be made in this case. Here follows some suggestions:
1. Provide a text box to enter the moves using algebraic notation. Dragging the pieces is impossible for me, and this way I could move the pieces.
2. Not sure how to make the boards accessible, but if I had the fen notation of the current puzzle, I could setup my accessible chess board by my side and try to solve it and enter the moves as described above.
3. I assume that fen notation could be a problem, but if you could generate a textual representation of the board, like:
white: queen d1, king e1, rook h1.
black: knight f8, king e8, pawn  e7.
This would help a lot already.

Thanks.
Logged
richard
Administrator
Hero Member
*****
Posts: 19247



« Reply #1 on: Nov 11, 2015, 01:41:50 AM »

Hey all, I am visually impaired and started playing chess two weeks ago. Reading on the Internet how I could study to improve, I found many many people saying that this website could be a good alternative, as I would be practicing  with the puzzles. The problem is, the board and solving the puzzles is totally inaccessible to screen readers. I would like to know if something could be made in this case. Here follows some suggestions:
1. Provide a text box to enter the moves using algebraic notation. Dragging the pieces is impossible for me, and this way I could move the pieces.
2. Not sure how to make the boards accessible, but if I had the fen notation of the current puzzle, I could setup my accessible chess board by my side and try to solve it and enter the moves as described above.
3. I assume that fen notation could be a problem, but if you could generate a textual representation of the board, like:
white: queen d1, king e1, rook h1.
black: knight f8, king e8, pawn  e7.
This would help a lot already.

Hi lucas,

I made a change a few months ago which adds FEN notation in two places on the board which I was hoping would enable the FEN to be picked up by screen readers. Specifically, the board element has the fen stored in an alt attribute, as well as an aria-label attribute. I'm guessing the fact that you don't get notified of this by the screen reader means that the method I'm using isn't adequate.

However even with that issue resolved there is still the issue of the piece movement input. I'm currently working on a complete site wide redesign, and I'd like to get more accessibility features done during this rewrite, including a more accessible way of entering moves. I had planned to use the keyboard bindings to offer a 'move entry' mode such that you could do something like 'ma1a2' such that 'm' key would enter move entry mode, and then a1a2 would move the piece from a1 to a2. The alternative is just to provide an option to display a text entry field for moves, but I'd probably prefer the first method as it avoids having to have separate UI that needs to be turned on, so would be closer to having something that worked by default (although users would still need a way of discovering the 'm' mode exists I guess).

If the screen reader can't see the current 'alt' or 'aria-label' attribute encoded FEN's, do you know a better way of telling the screen reader what the current position is? (sorry I'm more ignorant than I should be about this area).

Regards,
Richard.
Logged
lucasradaelli
Newbie
*
Posts: 4


« Reply #2 on: Nov 13, 2015, 06:34:53 PM »

Hey there, thanks for your reply. I tried the following:

1. clicked on trainning. clicked on start, to start solving a puzzle.

I got to know the strings:
Black to play.
a list, from a to h, and 1 to 8, twice.
A string suggesting to flip the board, and some other buttons like move or analyze in a separate line.

In the very end of the page, a move was described:
1. fxe4

and maybe the reference number to the problem: Problem Set: Standard ( 28852 in set)

I could not unfortunately find  the fen in the alt text, but setting the alt text is normally  enough. I could imagine that the element is not discover able with screen readers, and that's why we could not find it.

Here follows some useful links:
https://www.marcozehe.de/articles/how-to-use-nvda-and-firefox-to-test-your-web-pages-for-accessibility/
- to create a very simple testing environment where you can actually see stuff, instead of hearing it  -- very easy for sighted developers.

http://webaim.org
- very good resource on the web to understand with practical examples how to implement something accessible.

I am still thinking the best way to make chess accessible on a web page. For the puzzles, I was considering writing a parser in python  from fen notation to something that I described above (listing the white pieces and then the black pieces, so I can setup them on my board by my side). this is what my friends are doing to help me at this moment, and it worked so far..


concerning entering moves with a keystroke
, please have in mind that most of the screen readers are modal. this means that they work in two modes:
Reading or browse mode and focus mode. In browse mode, imagine that it creates a buffer with the current page, where commands that you give to it will be interpreted by the screen reader and not by the page. this is very useful, for example, to navigate quickly in pages that we already know. In google, for example, I use the h key to jump between html headers on the page, which are the search results. focus mode is a special mode used only in application-like websites, like gmail, docs, youtube, where you want every key that you press to be interpreted by the page and not by the screen reader. Long story short, another approach to this would be to create an invisible field to input the moves, that only  screen readers could find. This is easily doable, examples included in the link mentioned above.

Logged
richard
Administrator
Hero Member
*****
Posts: 19247



« Reply #3 on: Nov 14, 2015, 12:50:23 PM »

Hey there, thanks for your reply. I tried the following:

1. clicked on trainning. clicked on start, to start solving a puzzle.

I got to know the strings:
Black to play.
a list, from a to h, and 1 to 8, twice.

They are the board co-ordinates shown around the board - repeated because they are shown both top and bottom and left and right.


Quote
A string suggesting to flip the board, and some other buttons like move or analyze in a separate line.

In the very end of the page, a move was described:
1. fxe4

That is the "pre-move" , i.e. the last move made by your opponent before the tactic starts (and often the move which actually creates the tactical possibility for you), if you have the FEN of the position after that move, you don't necessarily need it, but without it you are missing are clue that other solvers receive.

Quote
and maybe the reference number to the problem: Problem Set: Standard ( 28852 in set)

I could not unfortunately find  the fen in the alt text, but setting the alt text is normally  enough. I could imagine that the element is not discover able with screen readers, and that's why we could not find it.

I've made a change that makes the board an entity that can be tabbed to, I've also added a tag that tells screen readers that the board container is holding a 'grid' (the closest role I could find for a chess board in the official list of UI roles from the accessibility standards). I'm not sure if this will help, but in the Apple screen reader I was able to get focus on the board, which I wasn't before and clicking on the in focus board read the FEN string. Obviously clicking isn't an option here, but I would have thought there is an equivalent key combination that screen readers can use to do the same thing as clicking when focussed on an element on the page which might read the FEN string for you.

Quote
Here follows some useful links:
https://www.marcozehe.de/articles/how-to-use-nvda-and-firefox-to-test-your-web-pages-for-accessibility/
- to create a very simple testing environment where you can actually see stuff, instead of hearing it  -- very easy for sighted developers.

Unfortunately I'm doing most of my work on a Mac, but I have been playing around with 'voiceover' the built in apple screen reader since reading your post and to test a few changes.

Quote
http://webaim.org
- very good resource on the web to understand with practical examples how to implement something accessible.

I am still thinking the best way to make chess accessible on a web page. For the puzzles, I was considering writing a parser in python  from fen notation to something that I described above (listing the white pieces and then the black pieces, so I can setup them on my board by my side). this is what my friends are doing to help me at this moment, and it worked so far..

If you can provide and example page from another site that has a board with FEN encoding that is easily readable by your screen reader I can try and work out what they are doing to get the accessibility working, and try to do the same with the board here.

Quote
concerning entering moves with a keystroke
, please have in mind that most of the screen readers are modal. this means that they work in two modes:
Reading or browse mode and focus mode. In browse mode, imagine that it creates a buffer with the current page, where commands that you give to it will be interpreted by the screen reader and not by the page. this is very useful, for example, to navigate quickly in pages that we already know. In google, for example, I use the h key to jump between html headers on the page, which are the search results. focus mode is a special mode used only in application-like websites, like gmail, docs, youtube, where you want every key that you press to be interpreted by the page and not by the screen reader. Long story short, another approach to this would be to create an invisible field to input the moves, that only  screen readers could find. This is easily doable, examples included in the link mentioned above.

Yes, that might be the easiest solution, but probably best to try to solve the board encoding situation first, as obviously without that the ability to enter moves with the keyboard is probably pointless.

Regards,
Richard.

Logged
lucasradaelli
Newbie
*
Posts: 4


« Reply #4 on: Nov 17, 2015, 07:51:15 PM »

Hey!

I think I got to read the fen position of the first training. For me, it seems to be the starting position, is it supposed to be?
rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1

I am still looking at some stuff, but wanted to share this example:
http://oaa-accessibility.org/examples/role/79/

And this one:
http://oaa-accessibility.org/example/16/

it uses an aria grid to represent a board, some drag / drop that it is not useful to us because the pieces are already in the board.

Cool is that it tells the position of each cell (upper right), in our case (a1, a2, an....).



Logged
richard
Administrator
Hero Member
*****
Posts: 19247



« Reply #5 on: Nov 17, 2015, 10:04:22 PM »

Hey!

I think I got to read the fen position of the first training. For me, it seems to be the starting position, is it supposed to be?
rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1

Yes, that is the start position. Sounds like it is reading the start position before the problem has loaded. Is it possible to ask the screen reader to re-read that string again after pressing the start button, and the problem having loaded? After problem load, the same string should be now updated to the position corresponding to the start position of the problem, and once a way of moving is provided, if you can re-read the label again it will be updated each time a move is made.


Quote
I am still looking at some stuff, but wanted to share this example:
http://oaa-accessibility.org/examples/role/79/

And this one:
http://oaa-accessibility.org/example/16/

it uses an aria grid to represent a board, some drag / drop that it is not useful to us because the pieces are already in the board.

Cool is that it tells the position of each cell (upper right), in our case (a1, a2, an....).

I'm also using a grid now, but only to mark the top level component, I haven't marked the grid cells with the corresponding aria labels yet. I can label all the cells, but I would have thought knowing that wouldn't have been as useful as getting the FEN string which you can then translate into a form you can interpret locally? It is possible you could do 'click-click' instead of drag-drop piece movement by navigating to the correct cell in the grid and activating that square as the from square, then moving to the destination cell and activating that square, but again I'd imagine a move entry field where you could type a1a2 etc would be much easier for you?

Regards,
Richard.
Logged
lucasradaelli
Newbie
*
Posts: 4


« Reply #6 on: Mar 07, 2016, 06:33:20 PM »

Richard,

I have tried many alternatives to study chess tactics. Got some books, the puzzles are all images. Tried  some software, they are not accessible. Found some tactics on the web in fen format, but it is hard to follow them, as don't follow any difficulty progression.


I am almost getting to the point to write my own program that will analyze pgn games, find tactics inside them, get the results back to me, and find a way to classify their difficulty somehow. But I believe that this will be a wast of time.

Would you be open for us to discuss way to make chesstempo accessible? I was thinking something very, very simple:

A mode to enable blind mode.
In blind mode:
- Puzzles would be presented either as in fen format, regular text to the user or  as in a long description:
white:
Kg1, Rb2, Qd3, b2, c3, ...
black:
Kh8, Nf5, etc...
- A simple html input text field where you can type:
1. e4
1. Nxf7
Etc.

Just it. No board. No images, just simple and plain html, the simplest thing possible.

I would volunteer myself to help code this, but I assume since all the code is proprietary this may not be easy for you to accept.

Do you have any concerns with this approach? is there any major problem that this could not be done?

If you would like to contact me in private:

lucasradaelli at gmail dot com


Please let me know if I can help in something, or, if this is totally impossible to be done in this moment, let me know and I will try to find a different solution.

Thank you.





Logged
richard
Administrator
Hero Member
*****
Posts: 19247



« Reply #7 on: Mar 08, 2016, 07:56:32 AM »

Hi Lucas, should be possible. I've sent you an email.
Logged
Pages: [1]
Print
Jump to: