• Home
    • View
    • Login
    This page
    • Normal
    • Export PDF
    • Export Word
    • Attachments
    • Page Information

    Loading...
  1. Dashboard
  2. OpenJFX
  3. Main
  4. Discussions
  5. Accessibility
  6. Accessibility Work in 8.0 [OBSOLETE]
  7. What works today

What works today

  • Created by Ragini Prasad, last modified on Jul 26, 2013

What works today and how to scale this further:

Currently FX Accessibility works for following controls on Windows and Mac platform:

Button, RadioButton, CheckBox, Slider and ListView

To scale it further:

Extending to newer controls

  • To add accessibility for control check if one or more provider matches the control to expose its accessibility information. If not add the provider in  com.sun.javafx.accessible.providers.
  • Implement AccessibleControlxxx extending the AccessibleControl and implement specific behavior implementing the provider
  • If no matching provider existed , add the native corresponding provider.
  • Add the provider to glass platform factory

 

Notes: 

AccessibleButton - before getPropertyValue returns button.getText(), should try getting accessible name from the properties map

PropertyIds should become public API

Need to make Node.impl_getAccessible() public, or to consider the API in the future

Accessible controls (like AccessibleButton) can implement multiple provider interfaces

com.sun.glass.ui.accessible is the glass layer for a11y, which implements the provider interfaces to the underlying OS

In the future we will need to develop more providers (in com.sun.javafx.accessible.providers package)

WinPlatformFactory calls createAccessibleProvider to map the accessible providers to the native implementations

Four options for high-level implementation:

* Don't expose custom controls a11y option

* Expose the providers interface and utils interface (com.sun.utils.accessible and com.sun.utils.accessible.providers)

* Expose AccessibleNode and Providers only

* Expose AccessibleNode, AccessibleControl and Providers

 

Quantum holds on to StagePeerListener, which holds on to the AccessibleStage

Accessible scenegraph hierarchy is fully maintained in the AccessibleStage

AccessibleStage is initialised only at init time - it is not synced up to the scenegraph - which needs to still be done

AccessibleStage should maybe be merged back into Stage so that we don't maintain two separate graphs

AccessibleStage should be initialised only when the scenegraph is done (at present it is done too early)

  

Overview
Content Tools
ThemeBuilder
  • No labels

Terms of Use
• License: GPLv2
• Privacy • Trademarks • Contact Us

Powered by a free Atlassian Confluence Open Source Project License granted to https://www.atlassian.com/software/views/opensource-community-additional-license-offer. Evaluate Confluence today.

  • Kolekti ThemeBuilder Powered by Atlassian Confluence 8.5.22
  • Kolekti ThemeBuilder printed.by.atlassian.confluence
  • Report a bug
  • Atlassian News
Atlassian
Kolekti ThemeBuilder EngineAtlassian Confluence
{"serverDuration": 184, "requestCorrelationId": "17d9c5c6a34b8701"}