Urgent.News

What's breaking now, across thousands of outlets.

Tech

The text mode lie: why modern TUIs are a nightmare for accessibility

Many developers wrongly believe that an application running in a terminal is automatically accessible. They fail to consider that most modern Text User Interfaces (TUIs) are actually more difficult for screen readers to navigate than poorly coded graphical interfaces. These frameworks, such as Ink (JS/React), Bubble Tea (Go), and tcell, make accessibility for blind users significantly worse.

At its core, the command-line interface is a linear stream of data, with the newest information appearing at the bottom and the older data going up. Screen readers can typically handle this format with ease. However, modern TUIs have transformed this linear approach into a "2D grid of pixels," where each character cell represents a pixel. This shift from a temporal layout to a spatial layout disrupts the screen reader's ability to comprehend the interface.

While some older TUIs were designed with terminal compatibility in mind, modern TUIs do not utilize the terminal's inherent features effectively. For instance, Irssi uses VT100 scrolling regions instead of redrawing the entire screen after each update. Unfortunately, many developers creating these modern TUIs have not prioritized accessibility, which has led to several problematic issues.

Reeves' article serves as a wake-up call for the developers who create these modern TUIs. It is essential that they start taking accessibility seriously to ensure that their applications are usable by all users, including those who rely on screen readers.

Written by urgent.news from Lobsters's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at osnews.com →

More in Tech

.NET 10 NU1015: Fix PackageReference Without Version Restore Failures

.NET 10 NU1015 turns a PackageReference without a version into a restore error. I like the stricter default because an unbounded direct dependency can quietly resolve the lowest package version.

  • .NET 10 NU1015 enforces version requirement for direct PackageReference entries
  • Versionless references now cause restore failures in .NET 10
  • Resolve by adding version or using Directory.Packages.props

The Counter That Counted a Call the Preflight Never Reached

This is a submission for DEV's Summer Bug Smash: Clear the Lineup , powered by Sentry . Project Overview I was working on a small Python component that performs a preflight check and then, if the…

  • Bug fix alters Python component's preflight check behavior
  • Counter now accurately records normal callback invocation
  • Regression test confirms 0 return on preflight exception

More from Sunday 23 August →