Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

SHOULD FIX before final code merge

  •  NO  - View.getAccessible() should follow the notify*() pattern to reflect that it's a native callback. Anthony Petrov
  •  YES -  Classes in win/, mac/, etc. should start with a Win*, Mac*, etc. prefixes (as much as I don't like the naming scheme, we should stick to the pattern to avoid confusion).
  •  NO -   Use javaIDs instead of statics for MIDs in GlassAccessible.cpp
  •  YES -  Perhaps instead of using the PlatformFactory, we should add a new factory method to the Application class in Glass.
  •  Support Windows 7. Currently GlassAccessibility extends ISelectionItemProvider, which is only supported since Windows 8. We may want to eliminate the direct code dependency on Win8 interfaces and use some dynamic techniques to support both Win8 & Win7. Anthony Petrov
    The problem is that after trying to expand the FX window in the UISpy tree, the get_HostRawElementProvider() in GlassAccessible gets a NULL hwnd from Java code, then it passes it to UiaHostProviderFromHwnd(). The latter function reports an error E_INVALIDARG. Windows 8 just eats it and proceeds, but Windows 7 can't do so for some reason. I suppose we should make sure the HWND is never NULL (it shouldn't be, really). Investigating further...
    Fixed by returning S_OK from get_HostRawElementProvider().
  •  MAYBE -  A11y support enums and classes should probably be moved to javafx.scene.accessibility package rather than be in the scene package itself.
  •  YES - Fix lines indentations
  •  RadioGroup. AccessibleProvider.
  •  Factory, Variant prefix, IAccessibleProvider, Combo, Popup, Menu - Anthony

...

 

To ensure we're compatible with Win7, we should use the Windows Desktop documentation in MSDN and check if interfaces that we use are supported on Win7.MOVED TO Accessibility