On Thu, 23 Feb 2023 03:22:19 GMT, Abhishek Kumar <[email protected]> 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