Skip to content

Releases: ObjectInSpace/contradiction-access

v1.1.0 - first public release

Choose a tag to compare

@ObjectInSpace ObjectInSpace released this 01 Sep 04:03

Screen reader access mod for Contradiction: Spot The Liar (Steam). Tested with NVDA on Windows.

The mod itself is unchanged from v1.0.0 - a11y.js is byte for byte the same file. What is new is that you no longer have to hand-edit the game to install it.

Install

Download contradiction-access-v1.1.0.zip, unzip all of it, and run Install.bat.

It finds your Steam copy automatically, backs up index.html, and adds the one script tag. Run Uninstall.bat to put everything back.

Manual installation is still documented in the README if you prefer it.

Note

Verifying or updating the game through Steam restores its own index.html and silently removes the mod. Nothing is broken - just run Install.bat again. It is safe to re-run and will not duplicate anything.

What is not covered

Scenery and locations are not described. A few puzzles need an inventory item used in the right place, and those moments are signalled visually, so there is no clear non-visual cue. This affects a small portion of the game; conversations, the contradiction mechanic, the map and the menus are all playable.

Bug reports

Please open an issue - what screen you were on, what your screen reader said (or did not say), and what you expected instead.

v1.0.0 - Screen reader access mod

Choose a tag to compare

@ObjectInSpace ObjectInSpace released this 19 Aug 01:08

First release. Screen reader accessibility mod for Contradiction: Spot The Liar (Steam, AppID 373390). Tested with NVDA.

Install

  1. Download a11y.js below.

  2. Copy it into the game's package.nw\js\ folder, next to the existing cc.js.

  3. Open package.nw\index.html in 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>
    
  4. 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", empty alt on 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.