Accessible Chess – XBoard

XBoard is a graphical user interface chessboard for chess engines under the X Window System. It is developed and maintained as free software by the GNU project. Through the Google Summer of Code (GsoC) 2015 project under the Portland State University (PSU), We have added some additional features to Xboard so that it is accessible to a visually impaired person. With the GTK-3 version, XBoard is now enabled with speech support or you can play it using your screen reader like Gnome orca, so it tells you all the moves you make, your current position on the board, possible attacks, who’s turn is next, etc.The movements are now possible using the arrow keys on keyboard.

Features

Accessible Chess – XBoard is provided with following features

The main XBoard window

The main window contains several elements:

  1. A title bar actively used to display information 
  2. A menubar, through which you can control XBoard
  3. Two chess clocks, for white and black 
  4. An optional button bar, with which you can navigate through the current game
  5. A single-line message field, where moves, variations, and sometimes texts are displayed
  6. An area where the chess board (and sometimes other stuff) is drawn

Variation board

The XBoard’s variation board is a valuable tool for playing with engines on an Internet Chess server. It lets you push the observation of other games to the background, so you can concentrate on your own position without immediately seeing boards from other games. By right-clicking and holding the mouse button down, you can peek at the most recent board from another game that XBoard silently remembers. This feature is especially useful in bughouse for keeping track of your partner’s progress during the game.

Comment window

The XBoard Comment window shows PGN file comments and variations for the current move, updating as you progress. Left-click for editing, right-click to promote a PGN variation to the main line, storing the original for later. Step through variations to display on the board.

Engine output

The engine-output window is only useful with an engine, such as one connected through an Internet Chess Server. It displays the Principal Variation (PV) lines, showing the engine’s best moves at increasing search depths along with scores, time, and positions searched.

Move list

The Move List in SAN notation includes game moves with optional score/depth comments. Left-click for editing (primarily copying), while right-clicking (or left-double-clicking in WinBoard) navigates to the position after that move, displaying it on the board and enabling game progression from there.

Edit book

The Edit Book window in chess software displays available moves for the current position and supports standard editing functions like the Tags window. Press a button at the bottom to save changes.

Mode menu

The Mode menu in chess software clarifies XBoard’s actions. Options like Machine White and Machine Black allow the user to play against the first engine, while Two Machines makes both engines play each other. XBoard returns to idle mode after the game ends. Machine Match makes the engines play a series of games, alternating colors, until manually stopped or reaching the specified number of games in Match Options.

ICS Interaction / Chat window

When connected to an Internet Chess Server (ICS), XBoard can communicate through the terminal or a dedicated window (available in the GTK build from the View menu). The window displays ICS output in an upper pane and provides a text entry at the bottom for typing commands to the ICS. Right-clicking in the upper pane opens the ICS Text Menu, which can use the clicked word as the $name variable in selected commands, such as ‘challenge’ or ‘finger’ a specific person who ‘shouted’ in the window.

Save options

XBoard offers manual saving of games or positions, with the option to set up automatic saving in the Save Options dialog after each game. If a file is specified, games will be appended to it without overwriting. Otherwise, XBoard will prompt for a file name, suggesting one based on the players. Saving as PGN format is recommended.

Common engine option

This dialog sets parameters for all engines, like hash-table size, tablebase buffer size, core usage, and tablebase installation location. Most UCI engines (run via Polyglot adapter) require these settings. Native XBoard engines may ignore them as they lack the protocol commands. ‘Polyglot directory’ refers to where the Polyglot executable is located; on Linux, it can often remain empty as Polyglot is typically in a searchable directory.

ICS options

This dialog adjusts settings for Internet Chess Server (ICS) play. It allows setting colors for different types of ICS messages and enables colorization with the Colorize option. Additionally, it lets you toggle premoving on or off and specify premoves for the first move of the game.

Board option

The Board Options dialog in the View menu allows configuring the board’s appearance. You can render squares evenly colored or using an external image file (pixmap).

Sound option

XBoard can’t produce sounds but can use an external sound player for predefined sounds linked to events like moves, game outcomes, and server interactions. Events like challenges, messages, or broadcasts on an Internet Chess Server can trigger sounds. Select sounds from drop-down lists or use custom sound files by choosing ‘Above WAV File’. Set your preferred sound player command and sound directory in the settings.

Tags window

The Tags window is a text window for viewing or editing PGN tags of a stored game. It supports normal editing functions and requires pressing a button at the bottom to save changes.

Menus

The menus in chess software are mostly self-explanatory. They often open dialogues where actions occur. Items like Forward and Backward in the Edit menu navigate through past positions but don’t retract moves; Retract Move in the Engine menu handles that. The Book item in the Engine menu queries the engine’s book moves, separate from XBoard’s opening book.

General options

The General Options dialog in chess software primarily features on/off options, with self-explanatory settings or ones previously discussed in the board window section. Animate dragging/moving determines if pieces move continuously or instantly jump to their destination square. The former is for drag-drop moves, while the latter is for click-click or moves from external sources. Blindfold hides all pieces, keeping the board empty.

Adjudication options

XBoard recognizes checkmates and stalemates, ending games without waiting for engine claims. It checks unjust claims and forfeits engines accordingly. Draws due to lack of mating potential or specific material combinations can be declared instantly or after a delay with the ‘Trivial Draws’ option. Adjudicating draws based on repeat moves or game length is possible, with 0 disabling these adjudications. 

ICS Text Menu

XBoard has a special dialog for customizing buttons with frequently used commands for the Internet Chess Server (ICS). These buttons are defined in the settings file (~/.xboardrc) using the -icsMenu option. Each button represents a command and can include linefeeds for multiple commands. Special placeholders like “$name” and modifiers like “$input” or “$add” can be used to customize command behavior.

Load options

The Load Options dialog manages loading and selection of games from the game list in XBoard. After loading a game, XBoard can auto-play it at a specified stepping rate in seconds, with fractions allowed. Using a negative number suppresses auto-play, leaving the opening position displayed. Specifying 0 instantly moves to the final position. You can also choose if the Tags window will pop up to show PGN tags or if the Comment window will pop up for moves with comments.

Load engine

To switch to a different engine or start using one in game-viewer mode, use this dialog. If the engine is already installed (in XBoard’s settings), select it from the drop-down list. Choose to load it as the first or second engine and click OK. In XBoard 4.7 and later, the drop-down is replaced by a listbox where you double-click the name, and separate dialogs exist for the first and second engine

Themes

In XBoard 4.8 and later, you can save graphical settings combinations as themes. Enter a name for the theme in the text edit and press ‘OK’. The name will appear in the listbox, and double-clicking it will recall the settings.