Skip to content

Allow tabular output to be flattened #13029

@williammartin

Description

@williammartin

Description

I am pulling this issue description out of #12460 (comment)

I think we've previously heard that tabular output can be frustrating for text-to-voice screenreaders, especially if the table has a high cardinality. I believe this is because navigating the rows and associating a cell with the correct column can require moving the cursor around a lot, where a fully-sighted person could get the same information with a glance. This issue proposes a holistic solution for adjusting tabular output across gh.

gh pr list currently has the following output:

ID      TITLE                                    BRANCH                                  CREATED AT
#12787  fix: `gh project item-edit` error wh...  ManManavadaria:fix-12726/item-edit-...  about 10 hours ago
#12785  -fox                                     0tn3d636729100h-ctrl:trunk              about 22 hours ago
#12784  Fix dnf config-manager command for r...  sourman:patch-1                         about 23 hours ago
#12783  Add databaseId to assignees GraphQL ...  srt32:fix-assignee-databaseid           about 1 day ago
#12782  chore(deps): bump github.com/google/...  dependabot/go_modules/github.com/go...  about 1 day ago

And in the machine readable, tab separated form, (e.g. when piped to cat) it doesn't even have the headers:

12787	fix: `gh project item-edit` error when editing Draft Issue with only one (title/body) flag	ManManavadaria:fix-12726/item-edit-draft-issue-partial-update	OPEN	2026-02-26T11:22:51Z
12785	-fox	0tn3d636729100h-ctrl:trunk	OPEN	2026-02-25T23:34:47Z
12784	Fix dnf config-manager command for repo addition	sourman:patch-1	OPEN	2026-02-25T22:26:03Z
12783	Add databaseId to assignees GraphQL fragment	srt32:fix-assignee-databaseid	OPEN	2026-02-25T15:23:04Z
12782	chore(deps): bump github.com/google/go-containerregistry from 0.20.7 to 0.21.1	dependabot/go_modules/github.com/google/go-containerregistry-0.21.1	OPEN	2026-02-25T14:04:01Z

I propose an environment variable GH_FLATTEN_TABLES that would adjust this output to something like:

ROW: 1
ID: 12787
TITLE: fix: `gh project item-edit` error when editing Draft Issue with only one (title/body) flag
BRANCH: ManManavadaria:fix-12726/item-edit-draft-issue-partial-update
STATE: OPEN
CREATED AT: 2026-02-26T11:22:51Z

ROW: 2
ID: 12785
TITLE: -fox
BRANCH: 0tn3d636729100h-ctrl:trunk
STATE: OPEN
CREATED AT: 2026-02-25T23:34:47Z

ROW: 3
ID: 12784
TITLE: Fix dnf config-manager command for repo addition
BRANCH: sourman:patch-1
STATE: OPEN
CREATED AT: 2026-02-25T22:26:03Z

ROW: 4
ID: 12783
TITLE: Add databaseId to assignees GraphQL fragment
BRANCH: srt32:fix-assignee-databaseid
STATE: OPEN
CREATED AT: 2026-02-25T15:23:04Z

ROW: 5
ID: 12782
TITLE: chore(deps): bump github.com/google/go-containerregistry from 0.20.7 to 0.21.1
BRANCH: dependabot/go_modules/github.com/google/go-containerregistry-0.21.1
STATE: OPEN
CREATED AT: 2026-02-25T14:04:01Z

Metadata

Metadata

Assignees

No one assigned

    Labels

    accessibilitypitchpitched internally for prioritisation

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions