SemanticsService
Access to platform accessibility services.
Inherits: Service
Methods
announce_message
async announce_message(message: str, rtl: bool = False, assertiveness: Assertiveness = Assertiveness.POLITE)message (str): The message to announce.
- rtl (bool, optional): True if the message is right-to-left. Defaults to False.
- assertiveness (Assertiveness, optional): The assertiveness level. Only supported on web. Defaults to Assertiveness.POLITE.
announce_tooltip
async announce_tooltip(message: str)get_accessibility_features
async get_accessibility_features() -> AccessibilityFeaturesAccessibilityFeatures object with flags like accessible_navigation, bold_text, disable_animations, high_contrast, invert_colors, reduce_motion, on_off_switch_labels, supports_announcements.Example
Retrieve accessibility features
import flet as ftasync def main(page: ft.Page):
page.title = "SemanticsService - Accessibility features"
page.horizontal_alignment = ft.CrossAxisAlignment.CENTER
page.vertical_alignment = ft.MainAxisAlignment.CENTER
async def get_features() -> str:
features = await ft.SemanticsService().get_accessibility_features()
return "\n".join([
f"Accessible navigation: {features.accessible_navigation}",
f"Bold text: {features.bold_text}",
f"Disable animations: {features.disable_animations}",
f"High contrast: {features.high_contrast}",
f"Invert colors: {features.invert_colors}",
f"Reduce motion: {features.reduce_motion}",
f"On/off switch labels: {features.on_off_switch_labels}",
f"Supports announcements: {features.supports_announcements}",
])
async def refresh_features(e: ft.Button):
info.value = await get_features()
page.update()
page.add(
info := ft.Text(await get_features()),
ft.Button("Refresh features", on_click=refresh_features),
)
ft.run(main)