psql has some accessibility issues on Windows

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

psql has some accessibility issues on Windows

Jelte Fennema-2
During an accessibility review of Citus it was found that psql has some accessibility issues.
Postgres version: 12.3
OS: Windows 10

Running this simple query has some issues:
SELECT * FROM (VALUES (1, 'microsoft', 'microsoft.png', now(), now()), (2, 'azure', 'azure.png', now(), now())) as t(id, name, image, created, modified);
  1. The table that is shown is not detected as a table by the screen reader. So, a screen reader user cannot navigate the table in a user-friendly way.
  2. Datetimes are not being read by the screen reader as datetimes. So instead of saying "9th of March 2020, 10 hours 28 minutes and 46 seconds" it will instead say "2020 dash zero three dash zero nine 10 colon 28 colon 46"
  3. After using 400% zoom the whole table doesn't fit in the window anymore and it starts to wrap in ugly ways. Instead it should resize the cells. You can easily reproduce this by making the standard psql window a bit smaller and you will see the same effect.

The screen reader that was used is the "Narrator" that is included in windows.

I'm not sure if this is can be fixed easily. Since all these issues seem to stem from the fact that it's a text only interface. So, it would probably require instrumenting this text in some way with accessibility attributes.

Jelte
Reply | Threaded
Open this post in threaded view
|

Re: psql has some accessibility issues on Windows

Pavel Stehule
Hi

pá 17. 7. 2020 v 12:39 odesílatel Jelte Fennema <[hidden email]> napsal:
During an accessibility review of Citus it was found that psql has some accessibility issues.
Postgres version: 12.3
OS: Windows 10

Running this simple query has some issues:
SELECT * FROM (VALUES (1, 'microsoft', 'microsoft.png', now(), now()), (2, 'azure', 'azure.png', now(), now())) as t(id, name, image, created, modified);
  1. The table that is shown is not detected as a table by the screen reader. So, a screen reader user cannot navigate the table in a user-friendly way.
  2. Datetimes are not being read by the screen reader as datetimes. So instead of saying "9th of March 2020, 10 hours 28 minutes and 46 seconds" it will instead say "2020 dash zero three dash zero nine 10 colon 28 colon 46"
  3. After using 400% zoom the whole table doesn't fit in the window anymore and it starts to wrap in ugly ways. Instead it should resize the cells. You can easily reproduce this by making the standard psql window a bit smaller and you will see the same effect.

The screen reader that was used is the "Narrator" that is included in windows.

I'm not sure if this is can be fixed easily. Since all these issues seem to stem from the fact that it's a text only interface. So, it would probably require instrumenting this text in some way with accessibility attributes.

Are there some special tags for this purpose? It is easy to write special psql format - now psql supports html, latex, ...

The problem with zoom should be related to Microsoft console probably - psql is just a terminal client.

Regards

Pavel
 

Jelte
Reply | Threaded
Open this post in threaded view
|

Re: psql has some accessibility issues on Windows

Thomas Munro-5
In reply to this post by Jelte Fennema-2
On Fri, Jul 17, 2020 at 10:39 PM Jelte Fennema
<[hidden email]> wrote:
> Datetimes are not being read by the screen reader as datetimes. So instead of saying "9th of March 2020, 10 hours 28 minutes and 46 seconds" it will instead say "2020 dash zero three dash zero nine 10 colon 28 colon 46"

I'll leave the table-display topics to Pavel (see some of his work at
[1] and [2], which I'm guessing might help here), but about the
timestamps:

I'm surprised it can't understand 2020-07-20 10:56:54.992092+12.
That's an extremely widely used date format, ISO 8601 date + time,
with the common modification of replacing "T" (between date part and
time part) with a space.  That's not formally allowed by ISO 8601 but
RFC3339 says it's OK ("5.6. Internet  Date/Time Format"), and a lot of
other software uses it.  You can also ask PostgreSQL to show dates in
a couple of other non-standard formats (try SET datestyle = postgres
for a historical format), but IMHO, RFC3339 should be high on the list
of formats understood by software trying to recognise timestamps.

[1] http://okbob.blogspot.com/2014/10/styles-for-unicode-borders-are-merged.html
[2] https://github.com/okbob/pspg