-
-
Notifications
You must be signed in to change notification settings - Fork 0
Performance audit sweep: cloning, async I/O, indexing, parallel discovery #12
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
Merged
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
ca21fe6
Update .gitignore for bob and performance audit
tonythethompson 3340d52
Simplify recent workspace settings
tonythethompson fe2d837
Fix threading/leak/bottleneck findings from concurrency sweep
tonythethompson f007a09
Fix remaining low-impact concurrency findings
tonythethompson 0c59be1
Address PR review feedback
tonythethompson d7d3d2c
Address second round of PR review feedback
tonythethompson File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,121 @@ | ||
| # Accessibility testing for Quick Shell | ||
|
|
||
| Quick Shell is a **PowerToys Command Palette extension**. Most UI (search box, list chrome, keyboard routing) is rendered by Command Palette. This checklist covers what **you** ship: list item text, context actions, Adaptive Card forms, and the folder picker. | ||
|
|
||
| Only check **"This product has been tested to meet accessibility guidelines"** in Partner Center if you have verified the scenarios below. See [Accessibility in the Store](https://learn.microsoft.com/en-us/windows/apps/design/accessibility/accessibility-in-the-store) and [Product declarations](https://learn.microsoft.com/en-us/windows/apps/publish/publish-your-app/msix/product-declarations). | ||
|
|
||
| ## Quick start | ||
|
|
||
| 1. Install the build you plan to ship (MSIX recommended): | ||
|
|
||
| ```powershell | ||
| powershell -ExecutionPolicy Bypass -File scripts/deploy.ps1 | ||
| ``` | ||
|
|
||
| 2. In PowerToys Command Palette, run **Reload Command Palette Extension**. | ||
|
|
||
| 3. Open Windows accessibility tools: | ||
|
|
||
| ```powershell | ||
| powershell -ExecutionPolicy Bypass -File scripts/open-a11y-settings.ps1 | ||
| ``` | ||
|
|
||
| ## Primary scenarios to test | ||
|
|
||
| Test each flow with **keyboard only**, then again with **Narrator** on. | ||
|
|
||
| | # | Scenario | Pass criteria | | ||
| |---|----------|---------------| | ||
| | 1 | Search and open a shortcut | Arrow keys select a row; Enter launches the terminal | | ||
| | 2 | Create a new shortcut | Enter on **Create new shortcut**; Tab through all fields; Save works | | ||
| | 3 | Edit / favorite / duplicate / delete | Context shortcuts below work on a selected row; **Ctrl+K** opens full More menu | | ||
| | 4 | Open as administrator | Available in More actions when not always-admin | | ||
| | 5 | Browse for folder | Browse button activatable; folder picker usable with keyboard | | ||
| | 6 | Reload shortcuts | **Refresh terminals** runs without error | | ||
|
|
||
| ## Keyboard navigation (Command Palette) | ||
|
|
||
| | Key | Action | | ||
| |-----|--------| | ||
| | `Win+Alt+Space` | Open Command Palette (default; may differ in your PowerToys settings) | | ||
| | Arrow keys | Move selection in the results list | | ||
| | `Enter` | Run the selected command | | ||
| | `Ctrl+Enter` | Open as administrator (when available) | | ||
| | `Ctrl+E` | Edit shortcut (main list only) | | ||
| | `Ctrl+P` | Favorite or unfavorite shortcut | | ||
| | `Ctrl+Shift+D` | Duplicate shortcut | | ||
| | `Ctrl+Z` | Undo | | ||
| | `Ctrl+Y` | Redo | | ||
| | `Ctrl+Alt+Up` / `Ctrl+Alt+Down` | Move favorite shortcut up or down | | ||
| | `Ctrl+Delete` | Delete shortcut | | ||
| | `Ctrl+K` | **More** menu (all actions) | | ||
| | `Tab` (in More menu) | Move focus from search box into the action list (required for Narrator to read each item) | | ||
| | `Esc` | Go back / close | | ||
|
|
||
| **Note:** `Shift+F10` opens the context menu for the **focused** control. If focus is in the search box, you will see Paste/Undo — not shortcut actions. Use arrow keys to select a list item, then `Ctrl+K` for extension actions. | ||
|
|
||
| ## Narrator | ||
|
|
||
| Turn on Narrator (`Win+Ctrl+Enter`) and verify: | ||
|
|
||
| - [ ] Shortcut **Title** is announced clearly (the shortcut name) | ||
| - [ ] **Subtitle** adds useful context without being unreadable noise | ||
| - [ ] Form fields announce their **labels** (Name, Search keyword, Folder path, Command, Terminal) | ||
| - [ ] **Browse folder** and **Save shortcut** are identifiable by name | ||
| - [ ] Save/delete/favorite actions give understandable feedback (toast or list update) | ||
|
|
||
| ### More menu (`Ctrl+K`) and Narrator | ||
|
|
||
| When the More menu opens, focus starts in the **Search commands...** box at the bottom. In that state, Up/Down only changes the highlighted row; Narrator may not read each option. | ||
|
|
||
| **Press `Tab` once** to move focus into the action list. After that, Narrator announces each item as you move with Up/Down. | ||
|
|
||
| **Other options (no menu required)** | ||
|
|
||
| Direct shortcuts on a selected shortcut row still work without opening More: | ||
|
|
||
| - `Ctrl+E` edit, `Ctrl+P` favorite, `Ctrl+Shift+D` duplicate, `Ctrl+Delete` delete, `Ctrl+Enter` open as admin, `Ctrl+Z` / `Ctrl+Y` undo/redo | ||
|
|
||
| You can also highlight a row and press `Enter` from the filter box to run it, even if Narrator has not read the name yet. | ||
|
|
||
| ## Visual accessibility | ||
|
|
||
| - [ ] Test at **125%** and **150%** display scale — form text and list rows are not clipped | ||
| - [ ] Test at least one **contrast theme** (Aquatic or Desert) — list and form remain readable | ||
| - [ ] Information is not conveyed by **color alone** (e.g. **Admin** and **Favorite** badges have tooltips, not only icon/color) | ||
| - [ ] Body text meets roughly **4.5:1** contrast where you control styling (Adaptive Card defaults are usually fine; avoid custom low-contrast HTML in cards) | ||
|
|
||
| ## Automated tools (limited scope) | ||
|
|
||
| | Tool | What to run it on | | ||
| |------|-------------------| | ||
| | [Accessibility Insights for Windows](https://accessibilityinsights.io/docs/windows/overview/) | Folder browse dialog (WinForms) | | ||
| | [Inspect](https://learn.microsoft.com/en-us/windows/win32/winauto/inspect-objects) | Folder picker UIA tree | | ||
| | UIAVerify | Same — resolve Priority 1 issues if reported | | ||
|
|
||
| Command Palette list UI runs inside PowerToys; you cannot attach Insights to it from the Quick Shell process. Rely on keyboard + Narrator for CmdPal chrome. | ||
|
|
||
| ## Extension content checklist | ||
|
|
||
| - [ ] Every shortcut has a descriptive **Name** (not only an abbreviation) | ||
| - [ ] Adaptive Card inputs have **labels** and **errorMessage** on required fields | ||
| - [ ] Folder picker can be completed without a mouse | ||
| - [ ] More actions reachable via **Ctrl+K** on a selected shortcut | ||
| - [ ] Primary scenarios tested with Narrator | ||
| - [ ] Primary scenarios tested at increased DPI and one high-contrast theme | ||
|
|
||
| ## Store submission notes | ||
|
|
||
| In **Notes for certification**, include: | ||
|
|
||
| 1. Requires **Microsoft PowerToys** with **Command Palette** enabled. | ||
| 2. Install Quick Shell, run **Reload Command Palette Extension**, search **Quick Shell**. | ||
| 3. Test create shortcut, open shortcut, and **Ctrl+K** More actions. | ||
|
|
||
| Declare accessibility only for **your extension content** (names, forms, picker). You are not certifying all of Command Palette — that shell is owned by PowerToys. | ||
|
|
||
| ## References | ||
|
|
||
| - [Develop accessible Windows apps](https://learn.microsoft.com/en-us/windows/apps/develop/accessibility) | ||
| - [Accessibility testing](https://learn.microsoft.com/en-us/windows/apps/develop/accessibility/accessibility-testing) | ||
| - [Accessibility checklist (Microsoft)](https://learn.microsoft.com/en-us/windows/apps/design/accessibility/accessibility-checklist) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.