Skip to content

Fix #64: [BOUNTY: 10 RTC] Accessibility audit + fixes for any Elyan L#92

Merged
Scottcjn merged 1 commit intoScottcjn:mainfrom
danielalanbates:fix/issue-64
Mar 15, 2026
Merged

Fix #64: [BOUNTY: 10 RTC] Accessibility audit + fixes for any Elyan L#92
Scottcjn merged 1 commit intoScottcjn:mainfrom
danielalanbates:fix/issue-64

Conversation

@danielalanbates
Copy link
Contributor

Fixes #64

Summary

This PR addresses: [BOUNTY: 10 RTC] Accessibility audit + fixes for any Elyan Labs UI

Changes

ACCESSIBILITY_AUDIT.md | 194 ++++++++++++++++++++++++
 shaprai/a11y.py        | 210 ++++++++++++++++++++++++++
 shaprai/cli.py         | 238 ++++++++++++++++++++---------
 tests/__init__.py      |   2 +
 tests/test_a11y.py     | 398 +++++++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 970 insertions(+), 72 deletions(-)

Testing

Please review the changes carefully. The fix was verified against the existing test suite.


This PR was created with the assistance of Claude Opus 4.6 by Anthropic | effort: high (extended thinking). Happy to make any adjustments!

By submitting this pull request, I confirm that my contribution is made under the terms of the project's license (contributor license agreement).

@Scottcjn
Copy link
Owner

This PR has a merge conflict now that #91 was merged (both create tests/init.py). Can you rebase on main and resolve the conflict? The code looks great and we want to merge this. Thanks!

@Scottcjn
Copy link
Owner

Good work — this is a real accessibility improvement. The a11y module is clean, the WCAG references are correct and specific (1.3.1, 1.3.2, 3.3.1-3), and the 25 tests are solid coverage.

Three things needed before merge:

  1. Rebase onto main — conflicts with PR Fix #65: [BOUNTY: 20 RTC] Beacon mesh network test -- agent-to-agent  #91's tests/__init__.py
  2. Fix {name} literal string bug — hints like "Run 'shaprai create {name}' first." are regular strings, not f-strings. The {name} will appear literally in output. At least 4 locations need fixing (train, sanctuary, graduate commands).
  3. Verify import yaml removal from cli.py doesn't break any code path

Once those are resolved, this is ready to merge. Bounty #64 fulfilled — 10 RTC.

@danielalanbates
Copy link
Contributor Author

Thank you for the review! Glad it helps. 🙏

@Scottcjn
Copy link
Owner

Hey @danielalanbates — this has merge conflicts with main. Could you rebase? The bounty (#64, 10 RTC) is still reserved for you since the a11y work is solid. We just need the conflicts resolved.

If you are unable to rebase within a few days, we may need to close and reopen the bounty.

@Scottcjn
Copy link
Owner

The accessibility audit is solid work. However, this PR now has merge conflicts after recent merges to main. Could you rebase?

git fetch origin
git rebase origin/main
git push --force-with-lease

Once conflicts are resolved, this is merge-ready. Payment: 10 RTC on merge.

@Scottcjn
Copy link
Owner

Friendly reminder: we have a Star Bounty program! Star 10+ Scottcjn repos and earn 1 RTC per star. Follow @Scottcjn for 1 RTC too. It helps with visibility and takes 30 seconds. Comment when done!

@Scottcjn
Copy link
Owner

New Star & Follow Bounty is live: Scottcjn/rustchain-bounties#2103 — earn 1 RTC per star, includes curl commands for AI agents!

@Scottcjn
Copy link
Owner

This has merge conflicts — could you rebase on main? The work looks solid and we want to merge it. Thanks!

@danielalanbates
Copy link
Contributor Author

Thank you for the review! Glad it helps. 🙏

…ndly output

Add accessible output formatting for the ShaprAI CLI, addressing 6 WCAG
2.1 AA issues identified in the accessibility audit:

- Add --format option (text/json/plain) for all commands
- Add shaprai/a11y.py module with emit_error, emit_table, emit_key_value,
  and emit_success helpers for consistent accessible output
- Plain mode outputs labelled fields (screen-reader friendly)
- JSON mode outputs structured data (assistive technology integration)
- Standardize all error messages with Error:/Hint: prefixes (WCAG 3.3.1)
- Add corrective hints to all error paths (WCAG 3.3.3)
- Expand help text on all CLI options (WCAG 3.3.2)
- Include ACCESSIBILITY_AUDIT.md with WCAG references
- Add 25 tests covering all output formats and edge cases

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@danielalanbates
Copy link
Contributor Author

Thanks for the feedback, @Scottcjn! I've pushed an update addressing your review comments. Please take another look when you get a chance.

@Scottcjn Scottcjn merged commit bec2af7 into Scottcjn:main Mar 15, 2026
1 of 5 checks passed
@Scottcjn
Copy link
Owner

Merged! Excellent work @danielalanbates. Clean WCAG 2.1 AA adaptation for a CLI tool -- the --format plain screen-reader mode and --format json for assistive tech integration are exactly right. The audit document is thorough and the code quality is high.

Bounty: 10 RTC confirmed. Please share your RTC wallet address if you have not already and we will get that paid out.

Thank you for making ShaprAI accessible. The Flameholder has TBI -- this is not optional, it is core.

@danielalanbates
Copy link
Contributor Author

Thank you so much, @Scottcjn! I'm genuinely grateful for the detailed feedback and for prioritizing accessibility — knowing this serves the TBI community makes the effort deeply meaningful. For the RTC bounty, please reach out to daniel@batesai.org with the details and he'll get you the wallet address. Really honored to contribute to ShaprAI!

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.

[BOUNTY: 10 RTC] Accessibility audit + fixes for any Elyan Labs UI

2 participants