Skip to content

Commit 807f216

Browse files
committed
✨ feat: feat(a11y): implement full Orca screen reader accessibility
- Add accessible labels to header step buttons (Language, Keyboard, Desktop, Theme) with translation support on language change - Make step buttons focusable for keyboard navigation - Add accessible labels to all FlowBoxChild items in BaseItemView - Add accessible labels to language GridView items with format "Name (OriginalName)" in factory bind - Add accessible label to search entry in LanguageView with retranslation support - Add accessible labels to keyboard layout FlowBoxChild items - Add accessible label to keyboard SVG preview image - Add accessible labels to simplified theme cards (Light/Dark) - Add LABELLED_BY accessible relation to JamesDSP and Contrast switches linking them to their title labels - Make settings cards focusable for keyboard navigation - Add accessible labels to logo images (BigLinux Logo) - Add CSS focus-within and focus-visible styles for settings cards
1 parent f04fc71 commit 807f216

16 files changed

Lines changed: 1312 additions & 2 deletions

File tree

.audit/files_read.txt

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
./biglinux-livecd/usr/lib/calamares/modules/btrfs-fix/main.py
2+
./biglinux-livecd/usr/lib/calamares/modules/btrfs/main.py
3+
./biglinux-livecd/usr/lib/calamares/modules/grubcfg-fix/main.py
4+
./biglinux-livecd/usr/share/biglinux/calamares/main.py
5+
./biglinux-livecd/usr/share/biglinux/calamares/src/app.py
6+
./biglinux-livecd/usr/share/biglinux/calamares/src/pages/__init__.py
7+
./biglinux-livecd/usr/share/biglinux/calamares/src/pages/main_page.py
8+
./biglinux-livecd/usr/share/biglinux/calamares/src/pages/maintenance_page.py
9+
./biglinux-livecd/usr/share/biglinux/calamares/src/pages/minimal_page.py
10+
./biglinux-livecd/usr/share/biglinux/calamares/src/pages/tips_page.py
11+
./biglinux-livecd/usr/share/biglinux/calamares/src/services/__init__.py
12+
./biglinux-livecd/usr/share/biglinux/calamares/src/services/install_service.py
13+
./biglinux-livecd/usr/share/biglinux/calamares/src/services/package_service.py
14+
./biglinux-livecd/usr/share/biglinux/calamares/src/services/system_service.py
15+
./biglinux-livecd/usr/share/biglinux/calamares/src/utils/constants.py
16+
./biglinux-livecd/usr/share/biglinux/calamares/src/utils/helpers.py
17+
./biglinux-livecd/usr/share/biglinux/calamares/src/utils/i18n.py
18+
./biglinux-livecd/usr/share/biglinux/calamares/src/utils/__init__.py
19+
./biglinux-livecd/usr/share/biglinux/calamares/src/utils/shell.py
20+
./biglinux-livecd/usr/share/biglinux/calamares/src/utils/widgets.py
21+
./biglinux-livecd/usr/share/biglinux/calamares/src/window.py
22+
./biglinux-livecd/usr/share/biglinux/livecd/application.py
23+
./biglinux-livecd/usr/share/biglinux/livecd/config.py
24+
./biglinux-livecd/usr/share/biglinux/livecd/logging_config.py
25+
./biglinux-livecd/usr/share/biglinux/livecd/main.py
26+
./biglinux-livecd/usr/share/biglinux/livecd/services.py
27+
./biglinux-livecd/usr/share/biglinux/livecd/translations.py
28+
./biglinux-livecd/usr/share/biglinux/livecd/ui/app_window.py
29+
./biglinux-livecd/usr/share/biglinux/livecd/ui/base_view.py
30+
./biglinux-livecd/usr/share/biglinux/livecd/ui/desktop_view.py
31+
./biglinux-livecd/usr/share/biglinux/livecd/ui/init.py
32+
./biglinux-livecd/usr/share/biglinux/livecd/ui/keyboard_view.py
33+
./biglinux-livecd/usr/share/biglinux/livecd/ui/language_view.py
34+
./biglinux-livecd/usr/share/biglinux/livecd/ui/theme_view.py

.audit/mypy.txt

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
=== LIVECD ===
2+
biglinux-livecd/usr/share/biglinux/livecd/ui/language_view.py: error: Source file found twice under different module names: "language_view" and "ui.language_view"
3+
biglinux-livecd/usr/share/biglinux/livecd/ui/language_view.py: note: See https://mypy.readthedocs.io/en/stable/running_mypy.html#mapping-file-paths-to-modules for more info
4+
biglinux-livecd/usr/share/biglinux/livecd/ui/language_view.py: note: Common resolutions include: a) adding `__init__.py` somewhere, b) using `--explicit-package-bases` or adjusting MYPYPATH
5+
Found 1 error in 1 file (errors prevented further checking)
6+
7+
=== CALAMARES ===
8+
biglinux-livecd/usr/share/biglinux/calamares/src/app.py: error: Source file found twice under different module names: "app" and "src.app"
9+
biglinux-livecd/usr/share/biglinux/calamares/src/app.py: note: See https://mypy.readthedocs.io/en/stable/running_mypy.html#mapping-file-paths-to-modules for more info
10+
biglinux-livecd/usr/share/biglinux/calamares/src/app.py: note: Common resolutions include: a) adding `__init__.py` somewhere, b) using `--explicit-package-bases` or adjusting MYPYPATH
11+
Found 1 error in 1 file (errors prevented further checking)
12+
13+
=== CALAMARES MODULES ===
14+
--- biglinux-livecd/usr/lib/calamares/modules/btrfs-fix/main.py ---
15+
Interrupted
16+
--- biglinux-livecd/usr/lib/calamares/modules/btrfs/main.py ---
17+
Interrupted
18+
--- biglinux-livecd/usr/lib/calamares/modules/grubcfg-fix/main.py ---
19+
Interrupted

.audit/mypy_livecd.txt

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
--- biglinux-livecd/usr/share/biglinux/livecd/application.py ---
2+
biglinux-livecd/usr/share/biglinux/livecd/ui/base_view.py:17: error: Unsupported dynamic base class "type" [misc]
3+
biglinux-livecd/usr/share/biglinux/livecd/ui/app_window.py:26: error: Incompatible default for argument "system_service" (default has type "None", argument has type "SystemService") [assignment]
4+
biglinux-livecd/usr/share/biglinux/livecd/ui/app_window.py:26: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True
5+
biglinux-livecd/usr/share/biglinux/livecd/ui/app_window.py:26: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase
6+
biglinux-livecd/usr/share/biglinux/livecd/ui/app_window.py:39: error: Incompatible default for argument "system_service" (default has type "None", argument has type "SystemService") [assignment]
7+
biglinux-livecd/usr/share/biglinux/livecd/ui/app_window.py:39: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True
8+
biglinux-livecd/usr/share/biglinux/livecd/ui/app_window.py:39: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase
9+
biglinux-livecd/usr/share/biglinux/livecd/ui/app_window.py:71: error: Need type annotation for "completed_steps" (hint: "completed_steps: set[<type>] = ...") [var-annotated]
10+
Found 4 errors in 2 files (checked 1 source file)
11+
--- biglinux-livecd/usr/share/biglinux/livecd/config.py ---
12+
Success: no issues found in 1 source file
13+
--- biglinux-livecd/usr/share/biglinux/livecd/logging_config.py ---
14+
Success: no issues found in 1 source file
15+
--- biglinux-livecd/usr/share/biglinux/livecd/main.py ---
16+
biglinux-livecd/usr/share/biglinux/livecd/ui/base_view.py:17: error: Unsupported dynamic base class "type" [misc]
17+
biglinux-livecd/usr/share/biglinux/livecd/ui/app_window.py:26: error: Incompatible default for argument "system_service" (default has type "None", argument has type "SystemService") [assignment]
18+
biglinux-livecd/usr/share/biglinux/livecd/ui/app_window.py:26: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True
19+
biglinux-livecd/usr/share/biglinux/livecd/ui/app_window.py:26: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase
20+
biglinux-livecd/usr/share/biglinux/livecd/ui/app_window.py:39: error: Incompatible default for argument "system_service" (default has type "None", argument has type "SystemService") [assignment]
21+
biglinux-livecd/usr/share/biglinux/livecd/ui/app_window.py:39: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True
22+
biglinux-livecd/usr/share/biglinux/livecd/ui/app_window.py:39: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase
23+
biglinux-livecd/usr/share/biglinux/livecd/ui/app_window.py:71: error: Need type annotation for "completed_steps" (hint: "completed_steps: set[<type>] = ...") [var-annotated]
24+
Found 4 errors in 2 files (checked 1 source file)
25+
--- biglinux-livecd/usr/share/biglinux/livecd/services.py ---
26+
Success: no issues found in 1 source file
27+
--- biglinux-livecd/usr/share/biglinux/livecd/translations.py ---
28+
Success: no issues found in 1 source file
29+
]633;E;for f in biglinux-livecd/usr/lib/calamares/modules/*/main.py\x3b do echo "--- $f ---" >> .audit/mypy.txt\x3b mypy --ignore-missing-imports "$f" 2>&1 >> .audit/mypy.txt\x3b done;bd624398-2ea5-45e8-a3a5-a919ee863a7e]633;C--- biglinux-livecd/usr/share/biglinux/livecd/ui/app_window.py ---
30+
biglinux-livecd/usr/share/biglinux/livecd/ui/app_window.py:71: error: Need type annotation for "completed_steps" (hint: "completed_steps: set[<type>] = ...") [var-annotated]
31+
Found 1 error in 1 file (checked 1 source file)
32+
--- biglinux-livecd/usr/share/biglinux/livecd/ui/base_view.py ---
33+
biglinux-livecd/usr/share/biglinux/livecd/ui/base_view.py:17: error: Unsupported dynamic base class "type" [misc]
34+
Found 1 error in 1 file (checked 1 source file)
35+
--- biglinux-livecd/usr/share/biglinux/livecd/ui/desktop_view.py ---
36+
Success: no issues found in 1 source file
37+
--- biglinux-livecd/usr/share/biglinux/livecd/ui/init.py ---
38+
Traceback (most recent call last):
39+
File "/usr/sbin/mypy", line 5, in <module>
40+
from mypy.__main__ import console_entry
41+
File "/usr/lib/python3.14/site-packages/mypy/__main__.py", line 9, in <module>
42+
from mypy.main import main, process_options
43+
File "/usr/lib/python3.14/site-packages/mypy/main.py", line 17, in <module>
44+
from mypy import build, defaults, state, util
45+
File "/usr/lib/python3.14/site-packages/mypy/build.py", line 33, in <module>
46+
import mypy.semanal_main
47+
File "/usr/lib/python3.14/site-packages/mypy/semanal_main.py", line 37, in <module>
48+
from mypy.checker import FineGrainedDeferredNode
49+
File "/usr/lib/python3.14/site-packages/mypy/checker.py", line 23, in <module>
50+
import mypy.checkexpr
51+
File "/usr/lib/python3.14/site-packages/mypy/checkexpr.py", line 16, in <module>
52+
from mypy import applytype, erasetype, join, message_registry, nodes, operators, types
53+
File "/usr/lib/python3.14/site-packages/mypy/applytype.py", line 6, in <module>
54+
import mypy.subtypes
55+
File "/usr/lib/python3.14/site-packages/mypy/subtypes.py", line 9, in <module>
56+
import mypy.constraints
57+
File "/usr/lib/python3.14/site-packages/mypy/constraints.py", line 10, in <module>
58+
import mypy.typeops
59+
File "/usr/lib/python3.14/site-packages/mypy/typeops.py", line 14, in <module>
60+
from mypy.checker_state import checker_state
61+
File "/usr/lib/python3.14/site-packages/mypy/checker_state.py", line 7, in <module>
62+
from mypy.checker_shared import TypeCheckerSharedApi
63+
File "/usr/lib/python3.14/site-packages/mypy/checker_shared.py", line 13, in <module>
64+
from mypy.errors import ErrorWatcher
65+
File "/usr/lib/python3.14/site-packages/mypy/errors.py", line 18, in <module>
66+
from mypy.types import Type
67+
File "/usr/lib/python3.14/site-packages/mypy/types.py", line 4425, in <module>
68+
from mypy.expandtype import ExpandTypeVisitor
69+
File "/usr/lib/python3.14/site-packages/mypy/expandtype.py", line 44, in <module>
70+
from mypy.typevartuples import split_with_instance
71+
File "<frozen importlib._bootstrap>", line 1371, in _find_and_load
72+
File "<frozen importlib._bootstrap>", line 1333, in _find_and_load_unlocked
73+
File "<frozen importlib._bootstrap>", line 1267, in _find_spec
74+
File "<frozen importlib._bootstrap_external>", line 1292, in find_spec
75+
File "<frozen importlib._bootstrap_external>", line 1266, in _get_spec
76+
File "<frozen importlib._bootstrap_external>", line 1372, in find_spec
77+
File "<frozen importlib._bootstrap_external>", line 71, in _relax_case
78+
KeyboardInterrupt

.audit/radon.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
biglinux-livecd/usr/share/biglinux/livecd/services.py
2+
M 348:4 SystemService._modify_settings_file - D (24)
3+
biglinux-livecd/usr/share/biglinux/livecd/ui/app_window.py
4+
M 317:4 AppWindow._on_language_selected - C (12)
5+
biglinux-livecd/usr/share/biglinux/calamares/src/services/install_service.py
6+
M 95:4 InstallService.configure_installation - C (11)
7+
biglinux-livecd/usr/share/biglinux/calamares/src/utils/shell.py
8+
M 43:4 ShellExecutor.execute - C (19)

0 commit comments

Comments
 (0)