Ticket #2363 (new enhancement)

Opened 9 years ago

Last modified 4 years ago

Make mc accessible for visually-impaired screen-reader users

Reported by: zaytsev Owned by:
Priority: trivial Milestone: Future Releases
Component: mc-core Version: master
Keywords: Cc: zaytsev, mengualjeanphi@…, yannick.plassiard@…, gotar@…, texou@…, mooffie@…
Blocked By: Blocking:
Branch state: no branch Votes for changeset:

Description

Jean-Philippe MENGUAL writes:

The problem in this package is that, in accessibility, the cursor stays on the command line and never moves in the panels.

In 2005, a guy patched the code of release 4.6.1 upstream to fix this, without submitting it upstream. His patch allows to the cursor to leave command line and follow keyboard movements in mc panels. Then the cursor comes back to the command line as soon as the user types a command (a character which is not a mc shortcut). It allows to a blind person to follow easily mc.

Attachments

mc-4.6.1-a11y-master.patch (769 bytes) - added by zaytsev 9 years ago.
Patch for 4.6.1 ported to latest master
patch-mc-4.7.0.9 (1.5 KB) - added by sthibaul 8 years ago.
Patch updated for 4.7.0.9
patch-mc-4.8.0 (1.5 KB) - added by sthibaul 8 years ago.
patch updated to 4.8.0 (git)

Change History

Changed 9 years ago by zaytsev

Patch for 4.6.1 ported to latest master

comment:1 Changed 9 years ago by zaytsev

  • Cc mengualjeanphi@… added; Jean-Philippe MENGUAL <mengualjeanphi@…> removed

I will try to find out who is the author of the patch with the original reporter.

In what concerns the implementation, I think it will annoy regular users. Does this warrant an option in the configuration dialog?

comment:2 Changed 9 years ago by zaytsev

  • Cc yannick.plassiard@… added

The author of the patch is Yannick Plassiard.

Yannick, are you interested in having at look at the patch again and cleaning it up or enhancing to make it ready for inclusion? We have neither accessibility experts, nor visually impaired users among us, so otherwise it will be given lowest priority...

comment:3 Changed 9 years ago by andrew_b

  • Priority changed from major to trivial

comment:4 follow-up: ↓ 6 Changed 9 years ago by zaytsev

Jean-Philippe MENGUAL:

I try to explain you the problem. To have an access to the terminal,
blind people use brltty. This utility redirects what appears on the
console on a braille display device, via serial or USB connections. To
display a consistent output, the utility follows the cursor, i.e. the
cursor which is on the commandline (which blinks). Of course, the user
can disable this following and choose to let his braille screen on the
same place even if the cursor changes to a new line.

What happens with mc: the cursor stays on the commandline. When a user
moves with arrows (left, right, up, down), nothing changes on the
braille display. To see any changes runtime, the user has to go on the
little bar located under the frame. And it's not really convinient.
Because when we select with * key, this bar displays the size of the
file and not the name anymore... The user can see what he's selecting
because the * sign appears on the screen, but seeing this implies
movements and searching.

After the patch: the cursor, instead of staying on commandline, when the
user moves with arrows, moves (so on the braille display, we see appear
each line where is the cursor, so the filenames... (the contents of the
pannel wherein is the cursor). When the user presses a non-mc-specific
letter, the cursor goes on the command line, the braille window too, and
he sees the command he's writing.

Note: a braille display is a screen which displays, depending on
hardware, 20-40 characters. To change its contents (see the end of a
line), it's necessary to press a key on the device.

I stay available for any test/precision if you need. My only real
limitation is the code.

comment:5 Changed 9 years ago by andrew_b

With this patch, I don't see cursor in the command line at all. Cursor just not shown in the command line.

comment:6 in reply to: ↑ 4 Changed 9 years ago by gotar

  • Cc gotar@… added

Replying to zaytsev:

To see any changes runtime, the user has to go on the
little bar located under the frame. And it's not really convinient.
Because when we select with * key, this bar displays the size of the
file and not the name anymore...

Master branch (currently 4.7.4) keeps these informations visible - file count is displayed on a frame above.

comment:7 Changed 9 years ago by sthibaul

Hello,

Master branch (currently 4.7.4) keeps these informations visible -
file count is displayed on a frame above.

Well, this was just an example of the kind of things that people
want to see automatically. It seems you haven't understood how
braille users actually "see" the screen. Since braille cells are very
expensive, braille devices are typicall only 20 or 40 cells only. I.e.
blind users only see 20 or 40 characters at a time. In order to see
the rest of the screen, they have to use buttons on the device. As
you can imagine, it can be very tedious: for instance, to read the F2
menu, you'd have to press a button to go to the top of the screen,
press another button several times to skip the few lines above the
menu, then press it several times to read each line of the menu, down to
the end. Then you need to find out which line is currently selected,
by "looking" at colors (this is a special mode of the screen reader),
and bring that to the menu item you want. You thus have to play with
both the PC keyboard arrows, and the device navigation buttons. Now,
if (and that's what my current 4.7.0.9 version does) mc always puts the
TTY cursor in front of the currently selected item, the screen reader
will actually automatically display that part of the screen. The user
thus doesn't need to use braille navigation buttons any more: just
pressing the PC keyboard arrows will at the same change the currently
selected item in the menu, and show the new item on the braille device.
This is way more convenient.

So currently that works in the F2 menu. But that does not work for
file selection in the main screen: when moving around between files,
the cursor remains at the command line only. The user thus has to track
colors of the text to know which file is being selected, which is very
tedious, while if mc was bringing the cursor in front of the file being
selected, the screen reader would automatically show that part of the
screen, and the user would thus not have to use braille navigation
buttons at all. This is what the patch intends to do: during
navigation between files etc., the cursor is brought to what should be
displayed on a braille device. When typing things that should go to the
command line, the cursor is brought back there. This makes navigation
extremely efficient.

It can indeed make a sighted user wonder why the cursor has disappeared
from the command line. Well, that can be an option that blind users
would enable, then.

A last thing worth nothing: in the F2 menu, the cursor is actually
visible in from the the currently selected item. A lot of terminals
can actually hide it (but still provide the position to the screen
reader), use the civis/cnorm strings from terminfo.

Changed 8 years ago by sthibaul

Patch updated for 4.7.0.9

Changed 8 years ago by sthibaul

patch updated to 4.8.0 (git)

comment:8 Changed 8 years ago by sthibaul

  • Branch state set to no branch
  • Milestone changed from 4.7 to 4.8

I have attached patches which are updated to 4.7.0 and 4.8.0: the
principle is that the last widget which gets actions on shows the
cursor, so that the screen reader can know which part of the screen to
automatically display on the braille device, without the user having to
move around by hand.

comment:9 Changed 8 years ago by angel_il

so... try edit any file into mcedit, call mcedit menu.

What is the expected output?

cursor follows to the menu item

What do you see instead?

cursor stayed where it was.

next trouble...
switch on (*) Brief file list in menu Left\Listing mode
move cursor to the second column of the list.

What is the expected output?

cursor move to the file entry

What do you see instead?

cursor stayed in the first column.

thank you for your work

comment:10 Changed 8 years ago by andrew_b

Well, there is a big work to make mc Braille-friendly. All widgets and all dialogs must be reviewed. An option is required to switch mc with common and "Braille friendly" modes.

comment:11 Changed 6 years ago by Texou

  • Cc texou@… added

Hi,

Would you agree to 7ork again on the problem? To start, Samuel made a patch similar to this submitted for 4.8.0.

Patch is here: http://dept-info.labri.fr/~thibault/tmp/patch-mc-4.8.9
The idea: enable to the focus to move on the panel instead of staying in commandline. With the patch:

  1. the cursor goes in the panel
  2. When typing a command, it goes to the commandline

But it doesn't browse the menus (F2 or F9 in Editor).
The cursor which moves seems to be some selection cursor, not the focus.

Agree to fix this? I'd like to update my mc.

Regards,

comment:12 Changed 5 years ago by mooffie

  • Cc mooffie@… added

comment:13 Changed 4 years ago by andrew_b

  • Milestone changed from 4.8 to Future Releases
Note: See TracTickets for help on using tickets.