AOSSIE-Org / AOSSIE-Org/PictoPy

Feat: Make PictoPy More Accessible – Keyboard Navigation & High Contrast Mode

Open
#1,157 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
283
Forks
679
Avg merge
7d 2h
Merged PRs (30d)
3

Description

### Describe the feature

### Problem

Currently, PictoPy's main interface and controls are difficult to use for people who rely on keyboard navigation or need higher contrast for visibility. Key areas affected include:

- Sidebar navigation has no visible focus indicator (keyboard users can't tell which section is active).
- Icon-only buttons (e.g., Face Search, Search) have no visible or screen-reader-friendly labels.
- The theme menu lacks a "High Contrast" option, making it hard for some users to comfortably view content.

These issues make PictoPy less inclusive and harder to use for anyone with visual impairments or those who depend on assistive technology.

### Suggested Solution

- Add strong visible focus rings to sidebar/menu items and inputs, so keyboard users can see what's focused (see "Recommended Fixes" mockup below).
- Add accessible labels (aria-label/alt text) for all icon-only buttons. Show tooltip on hover and ensure screen readers announce the action.
- Add a "High Contrast" option to the theme selector, supporting strong color contrast for all UI elements.
- Update internal documentation to include new accessibility improvements.

_Left: current state with missing focus, missing labels, and no high contrast.

Right: strong focus ring, labeled icons, and new theme option._

### Why this is needed

This improves usability for everyone – not just users with disabilities – and aligns PictoPy with accessibility standards (WCAG, ADA). It will also make the project more appealing for broader community adoption.

### Add ScreenShots

Image

### Record

- [x] I agree to follow this project's Code of Conduct
- [x] I want to work on this issue

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.