Repository navigation
v1.0.0 - Screen reader access mod
First release. Screen reader accessibility mod for Contradiction: Spot The Liar (Steam, AppID 373390). Tested with NVDA.
Install
-
Download
a11y.jsbelow. -
Copy it into the game's
package.nw\js\folder, next to the existingcc.js. -
Open
package.nw\index.htmlin a text editor. Near the end, find:<script src="js/cc.js" type="text/javascript"></script>Add this line directly after it:
<script src="js/a11y.js" type="text/javascript"></script> -
Save and start the game.
Back up index.html outside the game folder first — Steam's "Verify integrity of game files" overwrites anything inside it.
To uninstall, delete that one line. The game's own files are never modified.
What it fixes
The game draws each control as two layers that never reference each other: a text layer holding the words with no click handler, and an empty <a href="#"> carrying the handler. For a mouse that works; for a screen reader what you can read is not clickable and what is clickable has no name, so all 32 nameless links announced as "index".
- Every control named, with words taken from the game's own text
- Roles from what a handler does, not from markup
- Controls that are on screen but cannot work are now hidden, so activating a dead handler no longer throws a game error
- Live regions so text appearing elsewhere on the page is announced
- Gameplay text muted behind menus and other takeover screens
lang="en-GB", emptyalton decorative icons, headings on menu sections- A/V slider arrow keys fixed (the step was 10x finer than the game's scale)
Known limitations
- The tutorial tip overlay has no keyboard route in the game at all, and its text is baked into images. Not fixed.
- No audio description — the game is one long FMV.
- Focus does not move to newly opened panels; live regions are used instead. A programmatic
focus()on a plain div does not reliably move NVDA's browse cursor. - Steam build only. The Humble build differs and is untested.
See CHANGELOG.md for the full list.