Skip to main content

ARIA-style, TTS-driven accessibility layer for the Tk ecosystem

Project description

🧭 tkaria11y

tkaria11y is a Python framework for building fully accessible Tkinter applications—offering ARIA-style metadata, automatic text-to-speech feedback, keyboard navigation, high-contrast theming, and dyslexic-friendly fonts.

Whether you're crafting GUIs for the visually impaired, dyslexic users, screen-reader users, or simply building inclusive software, tk-a11y gives you a robust set of tools with minimal boilerplate.


🚀 Features

  • ✅ Accessible Widget Classes (e.g., AccessibleButton, AccessibleEntry)
  • 🎙️ Text-to-Speech Feedback on focus and hover
  • 🔍 ARIA-style metadata: accessible_name, role, description
  • ⌨️ Logical keyboard navigation with /
  • 🎨 High-contrast themes and OpenDyslexic font support
  • 🧱 Dynamic widget factory for custom widgets
  • 🧪 Runtime widget inspector with metadata overlay
  • 🛠️ Type-stub generator for full IDE support
  • 📦 Codemod migration CLI (coming soon)

📦 Installation

Install the stable release from PyPI:

bash pip install tk-a11y

Install optional dev tools (testing, type checking, stub generation):

bash pip install "tkaria11y[dev]"


🧪 Quickstart

🔍 Runtime Inspector

Press F2 to open the built-in accessibility inspector:

  • Shows widget hierarchy and metadata
  • Highlights currently focused widget
  • Helps audit accessible names, roles, and navigation

🧰 Developer Tools

Generate Type Stubs

bash python scripts/generate_stubs.py

Creates stubs/widgets.pyi for type checkers and IDEs.

Run Tests

bash pytest

Lint & Format

bash black . flake8 .


🧙‍♂️ Codemod (Coming Soon)

Automatically upgrade your Tkinter codebase to accessible widgets:

bash tka11y-migrate path/to/your/app.py --interactive

Supports auto-imports, accessible_name inference, and config-based overrides.


📚 Documentation

Documentation lives in the docs/ folder and is published at tk-a11y.readthedocs.io (coming soon).


🤝 Contributing

We welcome accessibility advocates, Tkinter hackers, and curious contributors of all skill levels.

  • See CONTRIBUTING.md
  • Run tests and generate stubs before submitting PRs
  • Open issues for bugs, ideas, or widget requests
  • Adhere to our Code of Conduct

📄 License

MIT © [Your Name]
See LICENSE for details.


🙌 Acknowledgements

Inspired by ARIA specs, WCAG principles, open-source accessibility tooling, and the Python community’s commitment to inclusion.


🗺️ Roadmap

Want to see where we're headed? Check out ROADMAP.md.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tkaria11y-0.0.1.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tkaria11y-0.0.1-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

Details for the file tkaria11y-0.0.1.tar.gz.

File metadata

  • Download URL: tkaria11y-0.0.1.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for tkaria11y-0.0.1.tar.gz
Algorithm Hash digest
SHA256 980168e51102b072acf37a7c2fcbf4e8aae6cb95391812d87ca7d84363de134b
MD5 f5c7c2bfb8a58f629b742cba89e6186a
BLAKE2b-256 a715af00a2f08ff272d8dd838375c67d683c1608b611ac9f6f275d7f632660a6

See more details on using hashes here.

File details

Details for the file tkaria11y-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: tkaria11y-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 4.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for tkaria11y-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 931dba35c4cabfdd9085c9fec273294b4274eb4127d52c32eaef9ecd50637b41
MD5 7dc4ffdbcb0408b94255198b18952ed0
BLAKE2b-256 3300fe198e3d090529edd2c2b96771c4ffaf1b141dd8635ee8f43fc18545f078

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page