RFR: 8273986: JEditorPane HTML Demo - Accessibility issues [v2]
Sergey Bylokhov
serb at openjdk.org
Fri Feb 24 08:29:07 UTC 2023
On Thu, 23 Feb 2023 03:22:19 GMT, Abhishek Kumar <abhiscxk at openjdk.org> wrote:
>> JAccessWalker was not able to show component tree correctly if we switch pages for HTML content.
>>
>> Observation:
>> The issue observed is that the children are not reported correct for root element when switching of pages happened. The reason behind it is that the `getAccessibleChildrenCount` API is called on the old `accessibleContext` object which return the children count as 0. Whenever we switch the page the children count is recalculated based on the root element but the `accessibleContext `object used to retrieve the child remains unchanged and due to that it return the children count 0.
>>
>> Solution:
>>
>> Added a condition check to create a new `accessibleContext `object to find out the children count correctly whenever we switch the pages in JEditorPane.
>>
>> Checked with the SwingSet2 JEditorPane demo and it reports well the component tree in JAccessWalker.
>>
>> Steps to verify:
>>
>> JBS contains the steps to reproduce the scenario.
>
> Abhishek Kumar has updated the pull request incrementally with one additional commit since the last revision:
>
> Copyright year update
src/java.desktop/share/classes/javax/swing/text/html/HTMLEditorKit.java line 690:
> 688: if (accessibleContext == null
> 689: || doc != theEditor.getDocument()) {
> 690: AccessibleHTML a = new AccessibleHTML(theEditor);
The "AccessibleHTML" internally registers the listener on the editor to update the state/doc. Why that notification does not work and it is necessary to recreate the "AccessibleHTML" here?
-------------
PR: https://git.openjdk.org/jdk/pull/12707
More information about the client-libs-dev
mailing list