 5845356d66
			
		
	
	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
		
			
				
	
	
		
			333 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			333 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| window1
 | |
|   "window"
 | |
|   index: 0
 | |
|   state: enabled resizable sensitive showing visible
 | |
|   toolkit: gtk
 | |
|   <AtkComponent>
 | |
|   layer: window
 | |
|   alpha: 1
 | |
|   box1
 | |
|     "filler"
 | |
|     parent: window1
 | |
|     index: 0
 | |
|     state: enabled horizontal sensitive
 | |
|     toolkit: gtk
 | |
|     <AtkComponent>
 | |
|     layer: widget
 | |
|     alpha: 1
 | |
|     label1
 | |
|       "label"
 | |
|       parent: box1
 | |
|       index: 0
 | |
|       name: entry:
 | |
|       label-for: entry1
 | |
|       state: enabled multi-line sensitive visible
 | |
|       toolkit: gtk
 | |
|       <AtkComponent>
 | |
|       layer: widget
 | |
|       alpha: 1
 | |
|       <AtkText>
 | |
|       text: entry:
 | |
|       character count: 6
 | |
|       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>
 | |
|     label2
 | |
|       "label"
 | |
|       parent: box1
 | |
|       index: 1
 | |
|       name: password entry:
 | |
|       label-for: entry2
 | |
|       state: enabled multi-line sensitive visible
 | |
|       toolkit: gtk
 | |
|       <AtkComponent>
 | |
|       layer: widget
 | |
|       alpha: 1
 | |
|       <AtkText>
 | |
|       text: password entry:
 | |
|       character count: 15
 | |
|       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>
 | |
|     label3
 | |
|       "label"
 | |
|       parent: box1
 | |
|       index: 2
 | |
|       name: spinbutton:
 | |
|       label-for: spinbutton1
 | |
|       state: enabled multi-line sensitive visible
 | |
|       toolkit: gtk
 | |
|       <AtkComponent>
 | |
|       layer: widget
 | |
|       alpha: 1
 | |
|       <AtkText>
 | |
|       text: spinbutton:
 | |
|       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: 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>
 | |
|     entry1
 | |
|       "text"
 | |
|       parent: box1
 | |
|       index: 3
 | |
|       labelled-by: label1
 | |
|       state: editable enabled focusable sensitive single-line visible
 | |
|       toolkit: gtk
 | |
|       <AtkComponent>
 | |
|       layer: widget
 | |
|       alpha: 1
 | |
|       <AtkText>
 | |
|       text: text
 | |
|       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: 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
 | |
|       <AtkAction>
 | |
|       action 0 name: activate
 | |
|       action 0 description: Activates the entry
 | |
|       action 0 keybinding: <Alt>e
 | |
|     entry2
 | |
|       "password text"
 | |
|       parent: box1
 | |
|       index: 4
 | |
|       labelled-by: label2
 | |
|       state: editable enabled focusable sensitive single-line visible
 | |
|       toolkit: gtk
 | |
|       <AtkComponent>
 | |
|       layer: widget
 | |
|       alpha: 1
 | |
|       <AtkText>
 | |
|       text: *************
 | |
|       character count: 13
 | |
|       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
 | |
|       <AtkAction>
 | |
|       action 0 name: activate
 | |
|       action 0 description: Activates the entry
 | |
|       action 0 keybinding: <Alt>p
 | |
|     entry3
 | |
|       "text"
 | |
|       parent: box1
 | |
|       index: 5
 | |
|       state: editable enabled focusable sensitive single-line visible
 | |
|       toolkit: gtk
 | |
|       <AtkComponent>
 | |
|       layer: widget
 | |
|       alpha: 1
 | |
|       <AtkText>
 | |
|       text: icons
 | |
|       character count: 5
 | |
|       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
 | |
|       <AtkAction>
 | |
|       action 0 name: activate
 | |
|       action 0 description: Activates the entry
 | |
|       unnamed-GtkEntryIconAccessible-0
 | |
|         "icon"
 | |
|         parent: entry3
 | |
|         state: enabled sensitive visible
 | |
|         <AtkComponent>
 | |
|         layer: widget
 | |
|         alpha: 1
 | |
|         <AtkAction>
 | |
|         action 0 name: activate
 | |
|       unnamed-GtkEntryIconAccessible-1
 | |
|         "icon"
 | |
|         parent: entry3
 | |
|         state: enabled sensitive visible
 | |
|         <AtkComponent>
 | |
|         layer: widget
 | |
|         alpha: 1
 | |
|         <AtkAction>
 | |
|         action 0 name: activate
 | |
|     spinbutton1
 | |
|       "spin button"
 | |
|       parent: box1
 | |
|       index: 6
 | |
|       labelled-by: label3
 | |
|       state: editable enabled focusable horizontal sensitive single-line visible
 | |
|       toolkit: gtk
 | |
|       <AtkComponent>
 | |
|       layer: widget
 | |
|       alpha: 1
 | |
|       <AtkText>
 | |
|       text: 
 | |
|       character count: 0
 | |
|       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
 | |
|       <AtkAction>
 | |
|       action 0 name: activate
 | |
|       action 0 description: Activates the entry
 | |
|       action 0 keybinding: <Alt>s
 | |
|       <AtkValue>
 | |
|       minimum value: 0.500000
 | |
|       maximum value: 99.500000
 | |
|       current value: 45.500000
 |