[Lazarus] LCL and Lazarus Accessibility - restarting the discussion

David Jenkins david at scootersoftware.com
Fri Mar 5 17:26:12 CET 2021

Marco (and others)

I have been working on implementing Accessibility for Cocoa and Qt5. 
Mostly I have been working in the lcl/interfaces/cocoa and 
lcl/interfaces/qt5 directories creating the widget level plumbing needed 
to interface with TLazAccessibleObject.

However, I have made a few fixes and changes to TLazAccessibleObject as 

I have fixed access to the child tree so that it is actually dataobject 
sorted so that the search functions work.

And I have added a accessibilityName field to work with 
accessibilityDescription, accessibilityRole, and accessibilityValue.  In 
Cocoa this matches the accessibile Title and in qt it matches 
accessibile Name.  Both Qt and Cocoa have an accessibleDescription field 
but it does not map well to the laz accessibleDescription which is being 
used the same way the Qt and Cocoa use the Name/Title field.

My Cocoa implementation is well developed and gives us access to all 
parts of our app that isn't custom (though I am able to add our custom 
objects as well - just haven't got all of them yet).

The Qt5 implementation is fairly basic yet.  It does all native controls 
and also a base implemenation of TCustomTreeView.

I intend to clean up what I currently have and submit as a patch within 
the next weeks.

David Jenkins

More information about the lazarus mailing list