Skip to content
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

Improve Mobile Blind Mode Accessibility: Full-Screen Board Navigation Needed #17019

Open
ikrami1 opened this issue Feb 20, 2025 · 8 comments · May be fixed by #17025
Open

Improve Mobile Blind Mode Accessibility: Full-Screen Board Navigation Needed #17019

ikrami1 opened this issue Feb 20, 2025 · 8 comments · May be fixed by #17025
Labels
improvement Small incremental improvement to an existing feature no scala

Comments

@ikrami1
Copy link

ikrami1 commented Feb 20, 2025

Exact URL of where the bug happened

https://lichess.org/

Steps to reproduce the bug

  1. Open Lichess on a mobile browser (iOS Safari or Android Chrome)
  2. Enable blind mode
  3. Start a new game or analyze position
  4. Navigate to the chess board area
  5. Try to explore squares by moving finger across the board
  6. Attempt to read all squares in a rank (e.g., from a8 to h8)

What did you expect to happen?

Expected Behavior

  • The entire 8x8 chess board should be visible on screen at once
  • Users should be able to explore all squares by moving their fingers across the board
  • Screen readers should announce square names as fingers move across them
  • Continuous exploration of ranks, files, and diagonals should be possible without scrolling

Proposed Solution

  1. Add a "Full Screen Board" button that when pressed:

    • Expands the chess board to fill the entire screen
    • Ensures all 64 squares are visible and accessible
    • Maintains essential information like clocks and last move
    • Similar to how physical chess boards allow continuous tactile exploration
  2. Add a "Collapse Board" button to:

    • Return to normal game view
    • Show move history and other game information

What happened instead?

  • Only a portion of the chess board is visible at once
  • Have to scroll horizontally to see squares on the right side of the board
  • When exploring a rank (e.g., 8th rank), only squares a8-d8 are visible initially
  • Must scroll right to access remaining squares (e8-h8)
  • Constant scrolling makes it impractical to maintain board awareness
  • Cannot efficiently explore the board as one would with a physical chess set

Operating system

iOS latest

Browser and version (or alternate access method)

safari

Additional information

  • This feature would primarily benefit blind and visually impaired players using mobile devices
  • Current blind mode works well on desktop browsers with arrow key navigation
  • Mobile implementation should maintain similar accessibility standards as desktop version

Environment

  • Platforms: iOS (Safari), Android (Chrome)
  • Input Method: Touch with Screen Reader

Impact

This enhancement would make Lichess more accessible to blind players on mobile devices, allowing them to play chess on-the-go just like sighted players.

@ikrami1 ikrami1 added the bug label Feb 20, 2025
@allanjoseph98 allanjoseph98 added improvement Small incremental improvement to an existing feature no scala and removed bug labels Feb 20, 2025
@yafred
Copy link
Contributor

yafred commented Feb 21, 2025

When I used a small display, I can see all the buttons emulating the board.
So, I assume that using a small display forces to zoom in to make the buttons bigger, which in turn make them disappear outside the viewport.
Can you confirm ?

@ikrami1
Copy link
Author

ikrami1 commented Feb 21, 2025 via email

@yafred
Copy link
Contributor

yafred commented Feb 21, 2025

Thanks,
I see the problem now (my screen was just a bit too wide)

Your suggestion of a full screen mode can bring a better user experience: non blind users have a zen mode where the display is uncluttered to better concentrate on the essential: the board and the clock.

However, I think that the issue you raise must be fixed on the existing page first. And that can be very simple.

My take on it is that the rule should be: all the buttons (board squares) should be visible whatever the size of the display and whatever the information we want to convey about the square.

Another way to say it: the size of the buttons must be governed by the size of the screen (1/8) and not by what's written on them.

Do you agree ?

@ikrami1
Copy link
Author

ikrami1 commented Feb 21, 2025 via email

@yafred
Copy link
Contributor

yafred commented Feb 21, 2025

I have installed nvda

I'll see if I can test my approach with it

I'll back to you if I am stuck

@ikrami1
Copy link
Author

ikrami1 commented Feb 21, 2025 via email

@yafred
Copy link
Contributor

yafred commented Feb 21, 2025

I fixed it for vertical display

I guess you are not using a touch screen for horizontal display ...

Another thing: do you know https://lichess.dev where the site is deployed before going to https://lichess.org ? you'll be able to try there when the fix is accepted ... I'll keep you posted

@ikrami1
Copy link
Author

ikrami1 commented Feb 22, 2025 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
improvement Small incremental improvement to an existing feature no scala
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants