forked from AuroraMiddleware/gtk
5845356d66
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
537 lines
19 KiB
Plaintext
537 lines
19 KiB
Plaintext
window1
|
|
"dialog"
|
|
index: 0
|
|
name: About FancyPants
|
|
state: enabled sensitive showing visible
|
|
toolkit: gtk
|
|
<AtkComponent>
|
|
layer: window
|
|
alpha: 1
|
|
dialog-vbox1
|
|
"filler"
|
|
parent: window1
|
|
index: 0
|
|
state: enabled sensitive showing vertical visible
|
|
toolkit: gtk
|
|
<AtkComponent>
|
|
layer: widget
|
|
alpha: 1
|
|
box
|
|
"filler"
|
|
parent: dialog-vbox1
|
|
index: 0
|
|
state: enabled sensitive showing vertical visible
|
|
toolkit: gtk
|
|
<AtkComponent>
|
|
layer: widget
|
|
alpha: 1
|
|
logo_image
|
|
"icon"
|
|
parent: box
|
|
index: 0
|
|
state: enabled sensitive showing visible
|
|
toolkit: gtk
|
|
<AtkComponent>
|
|
layer: widget
|
|
alpha: 1
|
|
<AtkImage>
|
|
image size: 20 x 20
|
|
image description: (null)
|
|
name_label
|
|
"label"
|
|
parent: box
|
|
index: 1
|
|
name: FancyPants
|
|
state: enabled focusable multi-line sensitive showing visible
|
|
toolkit: gtk
|
|
<AtkComponent>
|
|
layer: widget
|
|
alpha: 1
|
|
<AtkText>
|
|
text: FancyPants
|
|
character count: 10
|
|
caret offset: 0
|
|
default attributes: bg-color: <omitted>
|
|
bg-full-height: 0
|
|
direction: <omitted>
|
|
editable: false
|
|
family-name: <omitted>
|
|
fg-color: <omitted>
|
|
indent: 0
|
|
invisible: false
|
|
justification: center
|
|
language: <omitted>
|
|
left-margin: 0
|
|
pixels-above-lines: 0
|
|
pixels-below-lines: 0
|
|
pixels-inside-wrap: 0
|
|
right-margin: 0
|
|
rise: 0
|
|
scale: 1
|
|
size: <omitted>
|
|
stretch: <omitted>
|
|
strikethrough: false
|
|
style: <omitted>
|
|
underline: none
|
|
variant: <omitted>
|
|
weight: <omitted>
|
|
wrap-mode: word
|
|
<AtkHypertext>
|
|
stack
|
|
"panel"
|
|
parent: box
|
|
index: 2
|
|
state: enabled focusable sensitive showing visible
|
|
toolkit: gtk
|
|
<AtkComponent>
|
|
layer: widget
|
|
alpha: 1
|
|
page_vbox
|
|
"filler"
|
|
parent: stack
|
|
index: 0
|
|
state: enabled sensitive showing vertical visible
|
|
toolkit: gtk
|
|
<AtkComponent>
|
|
layer: widget
|
|
alpha: 1
|
|
version_label
|
|
"label"
|
|
parent: page_vbox
|
|
index: 0
|
|
name: 0.99
|
|
state: enabled focusable multi-line sensitive showing visible
|
|
toolkit: gtk
|
|
<AtkComponent>
|
|
layer: widget
|
|
alpha: 1
|
|
<AtkText>
|
|
text: 0.99
|
|
character count: 4
|
|
caret offset: 0
|
|
default attributes: bg-color: <omitted>
|
|
bg-full-height: 0
|
|
direction: <omitted>
|
|
editable: false
|
|
family-name: <omitted>
|
|
fg-color: <omitted>
|
|
indent: 0
|
|
invisible: false
|
|
justification: center
|
|
language: <omitted>
|
|
left-margin: 0
|
|
pixels-above-lines: 0
|
|
pixels-below-lines: 0
|
|
pixels-inside-wrap: 0
|
|
right-margin: 0
|
|
rise: 0
|
|
scale: 1
|
|
size: <omitted>
|
|
stretch: <omitted>
|
|
strikethrough: false
|
|
style: <omitted>
|
|
underline: none
|
|
variant: <omitted>
|
|
weight: <omitted>
|
|
wrap-mode: word
|
|
<AtkHypertext>
|
|
comments_label
|
|
"label"
|
|
parent: page_vbox
|
|
index: 1
|
|
name: comments
|
|
state: enabled focusable multi-line sensitive showing visible
|
|
toolkit: gtk
|
|
<AtkComponent>
|
|
layer: widget
|
|
alpha: 1
|
|
<AtkText>
|
|
text: comments
|
|
character count: 8
|
|
caret offset: 0
|
|
default attributes: bg-color: <omitted>
|
|
bg-full-height: 0
|
|
direction: <omitted>
|
|
editable: false
|
|
family-name: <omitted>
|
|
fg-color: <omitted>
|
|
indent: 0
|
|
invisible: false
|
|
justification: center
|
|
language: <omitted>
|
|
left-margin: 0
|
|
pixels-above-lines: 0
|
|
pixels-below-lines: 0
|
|
pixels-inside-wrap: 0
|
|
right-margin: 0
|
|
rise: 0
|
|
scale: 1
|
|
size: <omitted>
|
|
stretch: <omitted>
|
|
strikethrough: false
|
|
style: <omitted>
|
|
underline: none
|
|
variant: <omitted>
|
|
weight: <omitted>
|
|
wrap-mode: word
|
|
<AtkHypertext>
|
|
hbox
|
|
"filler"
|
|
parent: page_vbox
|
|
index: 2
|
|
state: enabled horizontal sensitive showing visible
|
|
toolkit: gtk
|
|
<AtkComponent>
|
|
layer: widget
|
|
alpha: 1
|
|
website_label
|
|
"label"
|
|
parent: hbox
|
|
index: 0
|
|
name: Website
|
|
state: enabled focusable multi-line sensitive showing visible
|
|
toolkit: gtk
|
|
<AtkComponent>
|
|
layer: widget
|
|
alpha: 1
|
|
<AtkText>
|
|
text: Website
|
|
character count: 7
|
|
caret offset: 0
|
|
default attributes: bg-color: <omitted>
|
|
bg-full-height: 0
|
|
direction: <omitted>
|
|
editable: false
|
|
family-name: <omitted>
|
|
fg-color: <omitted>
|
|
indent: 0
|
|
invisible: false
|
|
justification: left
|
|
language: <omitted>
|
|
left-margin: 0
|
|
pixels-above-lines: 0
|
|
pixels-below-lines: 0
|
|
pixels-inside-wrap: 0
|
|
right-margin: 0
|
|
rise: 0
|
|
scale: 1
|
|
size: <omitted>
|
|
stretch: <omitted>
|
|
strikethrough: false
|
|
style: <omitted>
|
|
underline: none
|
|
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
|
|
index: 3
|
|
name: no comments
|
|
state: enabled focusable multi-line sensitive showing visible
|
|
toolkit: gtk
|
|
<AtkComponent>
|
|
layer: widget
|
|
alpha: 1
|
|
<AtkText>
|
|
text: no comments
|
|
character count: 11
|
|
caret offset: 0
|
|
default attributes: bg-color: <omitted>
|
|
bg-full-height: 0
|
|
direction: <omitted>
|
|
editable: false
|
|
family-name: <omitted>
|
|
fg-color: <omitted>
|
|
indent: 0
|
|
invisible: false
|
|
justification: center
|
|
language: <omitted>
|
|
left-margin: 0
|
|
pixels-above-lines: 0
|
|
pixels-below-lines: 0
|
|
pixels-inside-wrap: 0
|
|
right-margin: 0
|
|
rise: 0
|
|
scale: 1
|
|
size: <omitted>
|
|
stretch: <omitted>
|
|
strikethrough: false
|
|
style: <omitted>
|
|
underline: none
|
|
variant: <omitted>
|
|
weight: <omitted>
|
|
wrap-mode: word
|
|
<AtkHypertext>
|
|
license_label
|
|
"label"
|
|
parent: page_vbox
|
|
index: 4
|
|
name: This program comes with ABSOLUTELY NO WARRANTY.
|
|
See the GNU General Public License, version 3 or later for details.
|
|
state: enabled focusable multi-line sensitive showing visible
|
|
toolkit: gtk
|
|
<AtkComponent>
|
|
layer: widget
|
|
alpha: 1
|
|
<AtkText>
|
|
text: This program comes with ABSOLUTELY NO WARRANTY.
|
|
See the GNU General Public License, version 3 or later for details.
|
|
character count: 115
|
|
caret offset: 0
|
|
default attributes: bg-color: <omitted>
|
|
bg-full-height: 0
|
|
direction: <omitted>
|
|
editable: false
|
|
family-name: <omitted>
|
|
fg-color: <omitted>
|
|
indent: 0
|
|
invisible: false
|
|
justification: center
|
|
language: <omitted>
|
|
left-margin: 0
|
|
pixels-above-lines: 0
|
|
pixels-below-lines: 0
|
|
pixels-inside-wrap: 0
|
|
right-margin: 0
|
|
rise: 0
|
|
scale: 1
|
|
size: <omitted>
|
|
stretch: <omitted>
|
|
strikethrough: false
|
|
style: <omitted>
|
|
underline: none
|
|
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
|
|
index: 1
|
|
state: enabled sensitive vertical visible
|
|
toolkit: gtk
|
|
<AtkComponent>
|
|
layer: widget
|
|
alpha: 1
|
|
scrolledwindow1
|
|
"scroll pane"
|
|
parent: credits_page
|
|
index: 0
|
|
state: enabled focusable sensitive visible
|
|
toolkit: gtk
|
|
<AtkComponent>
|
|
layer: widget
|
|
alpha: 1
|
|
viewport1
|
|
"viewport"
|
|
parent: scrolledwindow1
|
|
index: 0
|
|
state: enabled sensitive visible
|
|
toolkit: gtk
|
|
<AtkComponent>
|
|
layer: widget
|
|
alpha: 1
|
|
credits_grid
|
|
"panel"
|
|
parent: viewport1
|
|
index: 0
|
|
state: enabled sensitive vertical visible
|
|
toolkit: gtk
|
|
<AtkComponent>
|
|
layer: widget
|
|
alpha: 1
|
|
unnamed-GtkRangeAccessible-2
|
|
"scroll bar"
|
|
parent: scrolledwindow1
|
|
state: enabled horizontal sensitive visible
|
|
toolkit: gtk
|
|
<AtkComponent>
|
|
layer: widget
|
|
alpha: 1
|
|
<AtkValue>
|
|
minimum value: 0.000000
|
|
maximum value: 9.000000
|
|
current value: 0.000000
|
|
unnamed-GtkRangeAccessible-3
|
|
"scroll bar"
|
|
parent: scrolledwindow1
|
|
state: enabled sensitive vertical visible
|
|
toolkit: gtk
|
|
<AtkComponent>
|
|
layer: widget
|
|
alpha: 1
|
|
<AtkValue>
|
|
minimum value: 0.000000
|
|
maximum value: 9.000000
|
|
current value: 0.000000
|
|
license_page
|
|
"filler"
|
|
parent: stack
|
|
index: 2
|
|
state: enabled sensitive vertical visible
|
|
toolkit: gtk
|
|
<AtkComponent>
|
|
layer: widget
|
|
alpha: 1
|
|
scrolledwindow2
|
|
"scroll pane"
|
|
parent: license_page
|
|
index: 0
|
|
state: enabled focusable sensitive visible
|
|
toolkit: gtk
|
|
<AtkComponent>
|
|
layer: widget
|
|
alpha: 1
|
|
license_view
|
|
"text"
|
|
parent: scrolledwindow2
|
|
index: 0
|
|
state: enabled focusable multi-line sensitive visible
|
|
toolkit: gtk
|
|
<AtkComponent>
|
|
layer: widget
|
|
alpha: 1
|
|
<AtkText>
|
|
text:
|
|
character count: 0
|
|
caret offset: 0
|
|
default attributes: bg-color: <omitted>
|
|
bg-full-height: false
|
|
direction: <omitted>
|
|
editable: false
|
|
family-name: <omitted>
|
|
fg-color: <omitted>
|
|
indent: 0
|
|
invisible: false
|
|
justification: left
|
|
language: <omitted>
|
|
left-margin: 8
|
|
pixels-above-lines: 0
|
|
pixels-below-lines: 0
|
|
pixels-inside-wrap: 0
|
|
right-margin: 8
|
|
rise: 0
|
|
scale: 1
|
|
size: <omitted>
|
|
stretch: <omitted>
|
|
strikethrough: false
|
|
style: <omitted>
|
|
underline: none
|
|
variant: <omitted>
|
|
weight: <omitted>
|
|
wrap-mode: none
|
|
<AtkStreamableContent>
|
|
mime types: application/x-gtk-text-buffer-rich-text text/plain
|
|
unnamed-GtkRangeAccessible-4
|
|
"scroll bar"
|
|
parent: scrolledwindow2
|
|
state: enabled horizontal sensitive visible
|
|
toolkit: gtk
|
|
<AtkComponent>
|
|
layer: widget
|
|
alpha: 1
|
|
<AtkValue>
|
|
minimum value: 0.000000
|
|
maximum value: 0.000000
|
|
current value: 0.000000
|
|
unnamed-GtkRangeAccessible-5
|
|
"scroll bar"
|
|
parent: scrolledwindow2
|
|
state: enabled sensitive vertical visible
|
|
toolkit: gtk
|
|
<AtkComponent>
|
|
layer: widget
|
|
alpha: 1
|
|
<AtkValue>
|
|
minimum value: 0.000000
|
|
maximum value: 0.000000
|
|
current value: 0.000000
|
|
dialog-action_area1
|
|
"filler"
|
|
parent: dialog-vbox1
|
|
index: 1
|
|
state: enabled horizontal sensitive showing visible
|
|
toolkit: gtk
|
|
<AtkComponent>
|
|
layer: widget
|
|
alpha: 1
|
|
close_button
|
|
"push button"
|
|
parent: dialog-action_area1
|
|
index: 0
|
|
name: Close
|
|
state: enabled focusable sensitive showing visible default
|
|
toolkit: gtk
|
|
<AtkComponent>
|
|
layer: widget
|
|
alpha: 1
|
|
<AtkImage>
|
|
image size: -1 x -1
|
|
image description: (null)
|
|
<AtkAction>
|
|
action 0 name: click
|
|
action 0 description: Clicks the button
|
|
action 0 keybinding: <Alt>c
|
|
license_button
|
|
"toggle button"
|
|
parent: dialog-action_area1
|
|
index: 1
|
|
name: License
|
|
state: enabled focusable sensitive
|
|
toolkit: gtk
|
|
<AtkComponent>
|
|
layer: widget
|
|
alpha: 1
|
|
<AtkImage>
|
|
image size: -1 x -1
|
|
image description: (null)
|
|
<AtkAction>
|
|
action 0 name: click
|
|
action 0 description: Clicks the button
|
|
action 0 keybinding: <Alt>l
|
|
credits_button
|
|
"toggle button"
|
|
parent: dialog-action_area1
|
|
index: 2
|
|
name: Credits
|
|
state: enabled focusable sensitive
|
|
toolkit: gtk
|
|
<AtkComponent>
|
|
layer: widget
|
|
alpha: 1
|
|
<AtkImage>
|
|
image size: 20 x 20
|
|
image description: (null)
|
|
<AtkAction>
|
|
action 0 name: click
|
|
action 0 description: Clicks the button
|
|
action 0 keybinding: <Alt>r
|