iOS adapter
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 38/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- ios, rust
- Bereich
- accessibility, mobile-dev
Rechercherichtung
Beginne mit dem bestehenden accesskit_ios-Adapter und seiner bestehenden Adapterstruktur und prüfe anschließend die Phase-3-Aufgaben für den Test-Harness, die iOS-Simulator-CI, Integrationstests und bearbeitbaren Text. Verwende die Slint-Anwendung über accesskit_winit, um das Verhalten zu validieren. Erledigt ist die Aufgabe, wenn die wichtigsten Traits, Eigenschaften, Zustände, Änderungen und Benachrichtigungen zu bearbeitbarem Text abgedeckt sind und die zweite accesskit_ios-Version veröffentlicht ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
This project was funded through the NGI0 Commons Fund, a fund established by NLnet. See the project page for more information.
Abstract
The aim of this project is to implement UIKit accessibility. UIKit is Apple's user interface framework powering iOS, iPadOS, tvOS, and visionOS. Once complete, this new backend will allow any user of the AccessKit library to get UI accessibility on iPhone, iPad, Apple TV, and the Apple Vision Pro without substantial change to their current implementation. The finished product will contain a generic component that can be plugged into any iOS application as well as a specialized component to support the popular winit windowing library. An existing UI toolkit written in Rust will be modified to showcase the feature.
Tasks
- Phase 1: Core iOS Adapter (#710)
- Setup the low-level adapter skeleton following existing adapters structure
- Traits, properties and states mapping for nodes
- Post simple notifications to report UI events
- Create the subclassing adapter to inject into a UIKit view
- Write unit tests and update the CI to have them run
- Document how to run the winit examples
- Publish first version of accesskit_ios on crates.IO
- Phase 2: Integrate into the Slint UI toolkit (https://github.com/slint-ui/slint/pull/12750)
- Validate the subclassing adapter through accesskit_winit with the Slint winit backend and make adjustments
- Implement text editing capability using parley and validate on desktop platforms, iOS will be validated in the next milestone
- Modify the Slint CI to ensure the accessibility tree can be seen in the simulator
- Phase 3: Integration Testing & Editable Text
- Setup a test harness
- Configure iOS simulator on GitHub CI
- Write some integration tests to cover the key features (traits, properties and states exposed, changes detected)
- Implement methods to support editable text (characters, selection), validate with a Slint application
- Post required notifications for editable text (caret/selection move, text insertion/deletion), validate with a Slint application
- Publish second version of accesskit_ios on crates.IO
- Phase 4: Finishing touches
- Process feedback from security audit
- Expose both low-level and subclassing adapters API in the C bindings
- Update the Meson build script
- Update the CI to generate pre-built packages
- Integrate into the existing SDL example to demonstrate how to use
- Publish new version of the C bindings with the new binaries for iOS
- Write a blog post about the work done
- Vorherrschende Sprache
- Rust
- Sterne
- 1.5k
- Forks
- 127
- Ø Merge
- 16 Std. 44 Min.
- Gemergte PRs (30 T.)
- 12
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus AccessKit/accesskit
-
Document sub-treesOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 76/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 50/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 1-2 Tage Anfängerfreundlichkeit 32/100
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in AccessKit/accesskit
Ähnliche Issues
-
nn::linear: weight initialization depends on `bias` because the bias is created before the weightEvtl. vergeben @monfortema hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
LaurentMazare/tch-rs#1067 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
FavioVazquez/mollify#62 ·
-
C-enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
obi1kenobi/cargo-semver-checks#1785 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 61/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
fendouai/awesome-deepseek-harness#125 ·
Maintainer antworten meist innerhalb von 4 Tagen