Replies: 2 comments
-
Hola Ambro, gracias por tu reporte y por los detalles que compartiste. Entendemos la situación y la importancia de brindar una experiencia accesible desde el inicio de la aplicación. En este caso, el comportamiento que describes (el VoiceOver leyendo automáticamente el contenido sin tocar la pantalla) está relacionado con cómo se gestiona el foco accesible en iOS cuando se presenta la pantalla principal. Para ayudarte mejor, queremos confirmar algunos puntos: ¿El widget principal (Scaffold, MaterialApp, etc.) está envuelto con algún Semantics o Focus específico? ¿Has probado usar Semantics con focusable: true y explicitChildNodes: true para forzar el foco accesible inicial en un widget específico? ¿El contenido que deseas que se lea primero tiene un label accesible correctamente definido? Si lo deseas, podemos trabajar en una solución o proporcionar un ejemplo mínimo reproducible con ese comportamiento. Quedo atento a tu respuesta para avanzar con esto. Saludos cordiales, |
Beta Was this translation helpful? Give feedback.
-
Estimado Gian Sandoval, Espero que este mensaje te encuentre bien. Te escribo nuevamente porque he descubierto un problema crítico con la solución de accesibilidad que implementamos anteriormente para nuestra aplicación "Avventura Epica". PROBLEMA ACTUAL - REGRESIÓN DE ACCESIBILIDAD: UBICACIÓN ESPECÍFICA DEL ELEMENTO VACÍO:
Este elemento vacío no existe cuando ejecuto DIFERENCIA CRÍTICA DESCUBIERTA:
INTENTOS DE SOLUCIÓN REALIZADOS:
ARQUITECTURA ACTUAL DE ACCESIBILIDAD: # Menu Principal
def crea_vista_menu_principale(self):
titolo = ft.Text("Avventura Epica", ...) # Sin autofocus
pulsanti = [
ft.ElevatedButton(
text="Inizia Gioco",
autofocus=True, # ✅ Funciona en desarrollo, ❌ ignorado en build
...
),
...
]
# Vista Gioco
def crea_vista_gioco(self):
titolo = ft.TextField(
value="AVVENTURA IN CORSO",
autofocus=True, # ✅ Funciona en desarrollo, ❌ ignorado en build
read_only=True,
...
) HIPÓTESIS SOBRE EL PROBLEMA:
SOLICITUD DE AYUDA:
URGENCIA: WORKFLOW ACTUAL CI/CD: - name: Build IPA with Flet
run: |
flet build ipa \
--project "avventura-epica" \
--product "Avventura Epica" \
--build-version "2.5.0" \
--build-number ${{ github.run_number }} \
--org "com.ambrogio.riili" \
--company "Ambrogio Riili" \
--flutter-build-args=--profile \
--info-plist "UIAccessibilityEnabled=True" \
--info-plist "UIAccessibilityTraits=True" Cualquier insight o sugerencia que puedas proporcionar será invaluable para resolver esta regresión crítica de accesibilidad. Muchísimas gracias por tu tiempo y experiencia. Con gratitud y esperanza de una solución, Ambro & Claude Code P.D.: Si consideras que este problema requiere un enfoque completamente diferente o si conoces limitaciones específicas de Flet/Flutter en builds de producción, estaré muy agradecido por cualquier orientación que puedas ofrecer. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Question
Hi everyone,
First of all, thank you for developing Flet. I really love Python, and it's amazing to be able to develop apps for iPhone and Android using this language.
I'm currently working on a text adventure RPG, fully accessible to blind users, with music, sound effects, and more. The project is free and open-source — you can check it out here:
👉 https://github.com/Ambro86/AccessibleIphoneApp/
Right now, the game is only available in Italian, but I plan to add more languages soon.
However, I'm facing an issue and hope someone here can help. When I create windows with several buttons (e.g. 6 or 7), everything works fine on Windows. But on iPhone, when using VoiceOver (the built-in screen reader), I notice that some "empty" elements are detected — meaning VoiceOver reads nothing in those spots. These empty elements appear, for example, before the screen title or between sections.
This behavior affects accessibility, which is a top priority for me as a blind developer. I’ve managed to implement everything else — music, game saving, sound effects, color changes, icons, etc. — but this issue is really blocking me.
Is there any workaround or fix to avoid these empty elements from being generated?
I’ve also opened an issue here:
👉 #5417
Thanks a lot in advance for any help you can provide! I really hope there’s a way around this.
Best regards,
Ambro
Code sample
Error message
No response
------------------------------------------------------
Beta Was this translation helpful? Give feedback.
All reactions