Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

iOS adapter

Aberta
#565 15 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
38/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Pouca atividade
Stack de tecnologia
ios, rust

Direção de pesquisa

Comece com o adaptador accesskit_ios existente e sua estrutura de adaptador existente; em seguida, revise as tarefas da Phase 3 para o test harness, a CI do simulador do iOS, os testes de integração e o texto editável. Use a aplicação Slint por meio de accesskit_winit para validar o comportamento. Está concluído quando os principais traits, propriedades, estados, alterações e notificações de texto editável estiverem cobertos e a segunda release do accesskit_ios tiver sido publicada.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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
Linguagem predominante
Rust
Estrelas
1.5k
Forks
127
Merge médio
16h 44min
PRs com merge (30d)
12

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de AccessKit/accesskit

Todas as issues de AccessKit/accesskit

Issues semelhantes

Mais issues de Rust

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.