GtkLabelAccessible: Implement AtkHypertext

This commit makes the label accessible implement AtkHypertext,
which returns a AtkHyperlink object for each link in the text.
At the same time, add AtkHyperlinkImpl objects as children
to the label accessible.

Also some private API to indicate that links have changed, and
call that from GtkLabel when needed.

Adjust expected output of the affected a11y tests.

https://bugzilla.gnome.org/show_bug.cgi?id=721410
https://bugzilla.gnome.org/show_bug.cgi?id=721421
This commit is contained in:
Matthias Clasen
2014-01-03 22:59:37 -05:00
parent 0d9efde303
commit 5845356d66
14 changed files with 459 additions and 13 deletions

View File

@ -76,6 +76,7 @@ window1
variant: <omitted>
weight: <omitted>
wrap-mode: word
<AtkHypertext>
stack
"panel"
parent: box
@ -133,6 +134,7 @@ window1
variant: <omitted>
weight: <omitted>
wrap-mode: word
<AtkHypertext>
comments_label
"label"
parent: page_vbox
@ -172,6 +174,7 @@ window1
variant: <omitted>
weight: <omitted>
wrap-mode: word
<AtkHypertext>
hbox
"filler"
parent: page_vbox
@ -220,6 +223,20 @@ window1
variant: <omitted>
weight: <omitted>
wrap-mode: word
<AtkHypertext>
<AtkHyperlink>
start index: 0
end index: 7
anchors: http://www.gtk.org
unnamed-GtkLabelAccessibleLinkImpl-0
"link"
parent: website_label
state: enabled focusable focused multi-line sensitive showing visible
<AtkHyperlinkImpl>
<AtkHyperlink>
start index: 0
end index: 7
anchors: http://www.gtk.org
copyright_label
"label"
parent: page_vbox
@ -259,6 +276,7 @@ window1
variant: <omitted>
weight: <omitted>
wrap-mode: word
<AtkHypertext>
license_label
"label"
parent: page_vbox
@ -300,6 +318,20 @@ See the GNU General Public License, version 3 or later for details.
variant: <omitted>
weight: <omitted>
wrap-mode: word
<AtkHypertext>
<AtkHyperlink>
start index: 56
end index: 102
anchors: http://www.gnu.org/licenses/gpl.html
unnamed-GtkLabelAccessibleLinkImpl-1
"link"
parent: license_label
state: enabled focusable multi-line sensitive showing visible
<AtkHyperlinkImpl>
<AtkHyperlink>
start index: 56
end index: 102
anchors: http://www.gnu.org/licenses/gpl.html
credits_page
"filler"
parent: stack
@ -336,7 +368,7 @@ See the GNU General Public License, version 3 or later for details.
<AtkComponent>
layer: widget
alpha: 1
unnamed-GtkRangeAccessible-0
unnamed-GtkRangeAccessible-2
"scroll bar"
parent: scrolledwindow1
state: enabled horizontal sensitive visible
@ -348,7 +380,7 @@ See the GNU General Public License, version 3 or later for details.
minimum value: 0.000000
maximum value: 9.000000
current value: 0.000000
unnamed-GtkRangeAccessible-1
unnamed-GtkRangeAccessible-3
"scroll bar"
parent: scrolledwindow1
state: enabled sensitive vertical visible
@ -418,7 +450,7 @@ See the GNU General Public License, version 3 or later for details.
wrap-mode: none
<AtkStreamableContent>
mime types: application/x-gtk-text-buffer-rich-text text/plain
unnamed-GtkRangeAccessible-2
unnamed-GtkRangeAccessible-4
"scroll bar"
parent: scrolledwindow2
state: enabled horizontal sensitive visible
@ -430,7 +462,7 @@ See the GNU General Public License, version 3 or later for details.
minimum value: 0.000000
maximum value: 0.000000
current value: 0.000000
unnamed-GtkRangeAccessible-3
unnamed-GtkRangeAccessible-5
"scroll bar"
parent: scrolledwindow2
state: enabled sensitive vertical visible

View File

@ -519,7 +519,6 @@ dump_atk_hypertext (AtkHypertext *hypertext,
{
link = atk_hypertext_get_link (hypertext, i);
dump_atk_hyperlink (link, depth + DEPTH_INCREMENT, string);
g_object_unref (link);
}
}

View File

@ -225,6 +225,7 @@ window1
variant: <omitted>
weight: <omitted>
wrap-mode: word
<AtkHypertext>
255
"text"
parent: unnamed-GtkContainerAccessible-11
@ -322,6 +323,7 @@ window1
variant: <omitted>
weight: <omitted>
wrap-mode: word
<AtkHypertext>
unnamed-GtkWidgetAccessible-13
"separator"
parent: unnamed-GtkContainerAccessible-11
@ -420,6 +422,7 @@ window1
variant: <omitted>
weight: <omitted>
wrap-mode: word
<AtkHypertext>
255
"spin button"
parent: unnamed-GtkContainerAccessible-11
@ -509,6 +512,7 @@ window1
variant: <omitted>
weight: <omitted>
wrap-mode: word
<AtkHypertext>
255
"spin button"
parent: unnamed-GtkContainerAccessible-11
@ -598,6 +602,7 @@ window1
variant: <omitted>
weight: <omitted>
wrap-mode: word
<AtkHypertext>
100
"spin button"
parent: unnamed-GtkContainerAccessible-11
@ -687,6 +692,7 @@ window1
variant: <omitted>
weight: <omitted>
wrap-mode: word
<AtkHypertext>
0
"spin button"
parent: unnamed-GtkContainerAccessible-11
@ -776,6 +782,7 @@ window1
variant: <omitted>
weight: <omitted>
wrap-mode: word
<AtkHypertext>
0
"spin button"
parent: unnamed-GtkContainerAccessible-11
@ -865,6 +872,7 @@ window1
variant: <omitted>
weight: <omitted>
wrap-mode: word
<AtkHypertext>
unnamed-GtkContainerAccessible-14
"filler"
parent: unnamed-GtkContainerAccessible-10
@ -914,6 +922,7 @@ window1
variant: <omitted>
weight: <omitted>
wrap-mode: word
<AtkHypertext>
unnamed-GtkContainerAccessible-16
"panel"
parent: unnamed-GtkContainerAccessible-14

View File

@ -55,6 +55,7 @@ window1
variant: <omitted>
weight: <omitted>
wrap-mode: word
<AtkHypertext>
combo1
"combo box"
parent: box1

View File

@ -55,6 +55,7 @@ window1
variant: <omitted>
weight: <omitted>
wrap-mode: word
<AtkHypertext>
label2
"label"
parent: box1
@ -95,6 +96,7 @@ window1
variant: <omitted>
weight: <omitted>
wrap-mode: word
<AtkHypertext>
label3
"label"
parent: box1
@ -135,6 +137,7 @@ window1
variant: <omitted>
weight: <omitted>
wrap-mode: word
<AtkHypertext>
entry1
"text"
parent: box1

View File

@ -58,3 +58,4 @@ window1
variant: <omitted>
weight: <omitted>
wrap-mode: word
<AtkHypertext>

View File

@ -82,6 +82,7 @@ window1
variant: <omitted>
weight: <omitted>
wrap-mode: word
<AtkHypertext>
action_area
"filler"
parent: content

View File

@ -73,6 +73,7 @@ window1
variant: <omitted>
weight: <omitted>
wrap-mode: word
<AtkHypertext>
unnamed-GtkListBoxRowAccessible-1
"list item"
parent: listbox1
@ -121,6 +122,7 @@ window1
variant: <omitted>
weight: <omitted>
wrap-mode: word
<AtkHypertext>
listbox2
"list box"
parent: box1
@ -179,3 +181,4 @@ window1
variant: <omitted>
weight: <omitted>
wrap-mode: word
<AtkHypertext>

View File

@ -86,6 +86,7 @@ window1
variant: <omitted>
weight: <omitted>
wrap-mode: word
<AtkHypertext>
secondary_label
"label"
parent: message_area
@ -125,6 +126,7 @@ window1
variant: <omitted>
weight: <omitted>
wrap-mode: word
<AtkHypertext>
dialog-action_area1
"filler"
parent: dialog-vbox1

View File

@ -55,6 +55,7 @@ window1
variant: <omitted>
weight: <omitted>
wrap-mode: word
<AtkHypertext>
entry1
"text"
parent: box1

View File

@ -58,6 +58,7 @@ window1
variant: <omitted>
weight: <omitted>
wrap-mode: word
<AtkHypertext>
label2
"label"
parent: paned1
@ -97,3 +98,4 @@ window1
variant: <omitted>
weight: <omitted>
wrap-mode: word
<AtkHypertext>