8000 Accessible prompter always displays selection defaults in a format readable by a screen reader by BagToad · Pull Request #10937 · cli/cli · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Accessible prompter always displays selection defaults in a format readable by a screen reader #10937

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

BagToad
Copy link
Member
@BagToad BagToad commented May 6, 2025

Fixes #10936

Note

I encourage reviewers to try out this branch with a screen reader because I did and it sounds quite good in my opinion 😄

Proposed experience demo with repo create:

What would you like to do? 
1. Create a new repository on github.com from scratch
2. Create a new repository on github.com from a template repository
3. Push an existing local repository to github.com
Input a number between 1 and 3: 1

Repository name testing-a11y

Repository owner (default: BagToad) 
1. BagToad
<snip>
Input a number between 1 and 17: 

Description testing

Visibility (default: Public) 
1. Public
2. Private
Input a number between 1 and 2: 2

Would you like to add a README file? (default: no) [y/N] 

Would you like to add a .gitignore? (default: no) [y/N] 

Would you like to add a license? (default: no) [y/N] 

This will create "testing-a11y" as a private repository on github.com. Continue? (default: yes) [Y/n] 

Proposed experience demo with gh issue edit, showing multi select defaults:

Assignees (defaults: BagToad, Evil-Bagtoad) 
Select up to 3 options.
1. ✓ BagToad
2.   Fred
3. ✓ Evil-Bagtoad
0.   Confirm selection
Input a number between 0 and 3: 

@Copilot Copilot AI review requested due to automatic review settings May 6, 2025 21:52
@BagToad BagToad requested a review from a team as a code owner May 6, 2025 21:52
@BagToad BagToad requested a review from williammartin May 6, 2025 21:52
@BagToad BagToad temporarily deployed to cli-automation May 6, 2025 21:52 — with GitHub Actions Inactive
Copy link
Contributor
@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR enhances the accessible prompter to always include default values in prompts in a speech-synthesis-friendly format.

  • Introduces addDefaultsToPrompt to append "(default: …)" or "(defaults: …)" to prompts.
  • Refactors Select, MultiSelect, Input, and Confirm to use the new helper.
  • Adds tests to verify that prompts correctly display single and multiple defaults.

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
internal/prompter/prompter.go Added addDefaultsToPrompt and updated prompt methods
internal/prompter/accessible_prompter_test.go Added tests for default formatting in various prompts
Comments suppressed due to low confidence (1)

internal/prompter/prompter.go:1

  • Verify that the strings and slices packages are imported, as addDefaultsToPrompt uses strings.Join, slices.DeleteFunc, and slices.Contains.
import (

@BagToad BagToad requested a review from andyfeller May 6, 2025 22:01
Copy link
Member
@andyfeller andyfeller left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Firstly, I love these changes including excluding the default information where it is blank.

I only have a question / concern with a nuanced case that I've left a comment below.

@BagToad BagToad requested a review from andyfeller May 8, 2025 13:44
Copy link
Member
@andyfeller andyfeller left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

monamoji-love

Looks good, thanks for improving our accessible experience, @BagToad! 🙌

@andyfeller andyfeller merged commit 7ceca45 into trunk May 9, 2025
16 checks passed
@andyfeller andyfeller deleted the kw/accessible-prompter-prints-readable-defaults-in-prompt branch May 9, 2025 12:48
@BagToad BagToad changed the title Accessible prompter always displays defaults in speech synthesis readable format Accessible prompter always displays selection defaults in a format readable by a screen reader May 19, 2025
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request May 20, 2025
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [cli/cli](https://github.com/cli/cli) | minor | `v2.72.0` -> `v2.73.0` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>cli/cli (cli/cli)</summary>

### [`v2.73.0`](https://github.com/cli/cli/releases/tag/v2.73.0): GitHub CLI 2.73.0

[Compare Source](cli/cli@v2.72.0...v2.73.0)

#### :copilot: Copilot Coding Agent Support

You can now assign issues to GitHub Copilot directly from `gh`, just as you would assign them to a teammate. Use `gh issue edit <number> --add-assignee @&#8203;copilot` to assign the GitHub Copilot coding agent, and Copilot will work in the background to understand the issue, propose a solution, and open a pull request when it's ready for your review. If you run `gh issue edit` interactively, `Copilot (AI)` will be displayed as a potential assignee. This feature is available for GitHub Copilot Pro+ and Copilot Enterprise subscribers. For more details, refer to [the full changelog post for Copilot coding agent](https://github.blog/changelog/2025-05-19-github-copilot-coding-agent-in-public-preview/).

#### What's Changed

##### ✨ Features

-   Copilot is assignable to issues and pull requests with `issue edit` and `pr edit` by [@&#8203;BagToad](https://github.com/BagToad) in cli/cli#10992
    -   `gh issue edit`: actors are assignable to issues by [@&#8203;BagToad](https://github.com/BagToad) in cli/cli#10960
    -   `gh pr edit`: Assign actors to pull requests by [@&#8203;BagToad](https://github.com/BagToad) in cli/cli#10984
    -   `issue edit`, `pr edit`: handle display names in interactive assignee editing   by [@&#8203;BagToad](https://github.com/BagToad) in cli/cli#10990
    -   `issue edit`, `pr edit`: Support special non-interactive (flags) assignee name `@copilot` by [@&#8203;BagToad](https://github.com/BagToad) in cli/cli#10991
-   \[gh issue/pr comment] Add support for last comment delete for issues and MRs by [@&#8203;sinansonmez](https://github.com/sinansonmez) in cli/cli#10596
-   \[gh issue view] Expose `closedByPullRequestsReferences` JSON field by [@&#8203;iamazeem](https://github.com/iamazeem) in cli/cli#10941
-   Accessible prompter always displays selection defaults in a format readable by a screen reader by [@&#8203;BagToad](https://github.com/BagToad) in cli/cli#10937

##### 🐛 Fixes

-   Fix `StatusJSONResponse` usage by [@&#8203;babakks](https://github.com/babakks) in cli/cli#10810
-   Fix panic on `gh pr view 0` by [@&#8203;nopcoder](https://github.com/nopcoder) in cli/cli#10729
-   Fix flakey test for accessible prompter by [@&#8203;BagToad](https://github.com/BagToad) in cli/cli#10918
-   Fix accessible prompter flaky tests by [@&#8203;babakks](https://github.com/babakks) in cli/cli#10977
-   Handle missing archive URLs on release download by [@&#8203;williammartin](https://github.com/williammartin) in cli/cli#10947
-   Fix bug when removing all MR reviewers by [@&#8203;babakks](https://github.com/babakks) in cli/cli#10975

##### 📚 Docs & Chores

-   Feature detect v1 projects on pr view by [@&#8203;williammartin](https://github.com/williammartin) in cli/cli#10821
-   Feature detect v1 projects on non-interactive pr create by [@&#8203;williammartin](https://github.com/williammartin) in cli/cli#10909
-   Feature detect v1 projects on web mode pr create by [@&#8203;williammartin](https://github.com/williammartin) in cli/cli#10911
-   Feature detect v1 projects on interactive `pr create` by [@&#8203;williammartin](https://github.com/williammartin) in cli/cli#10915
-   Feature detect v1 projects on pr edit by [@&#8203;williammartin](https://github.com/williammartin) in cli/cli#10942
-   Move predicate type filtering in `gh attestation verify` by [@&#8203;malancas](https://github.com/malancas) in cli/cli#10670
-   Improve assertion for disabled echo mode by [@&#8203;babakks](https://github.com/babakks) in cli/cli#10927

##### :dependabot: Dependencies

-   chore(deps): bump actions/attest-build-provenance from 2.2.2 to 2.3.0 by [@&#8203;dependabot](https://github.com/dependabot) in cli/cli#10886
-   chore(deps): bump github.com/cpuguy83/go-md2man/v2 from 2.0.6 to 2.0.7 by [@&#8203;dependabot](https://github.com/dependabot) in cli/cli#10869

#### What's Changed

#### New Contributors

-   [@&#8203;sinansonmez](https://github.com/sinansonmez) made their first contribution in cli/cli#10596
-   [@&#8203;nopcoder](https://github.com/nopcoder) made their first contribution in cli/cli#10729

**Full Changelog**: cli/cli@v2.72.0...v2.73.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC4xNS4wIiwidXBkYXRlZEluVmVyIjoiNDAuMTUuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90Il19-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Accessible prompter: default selections not always printed, not clear, or sometimes not readable by speech synthesis
2 participants
0