mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 835666 - ARIA combobox selected value is not a part of name computation, r=tbsaunde
This commit is contained in:
parent
e025a1d342
commit
c42b93211f
@ -48,6 +48,19 @@ nsTextEquivUtils::GetNameFromSubtree(Accessible* aAccessible,
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
void
|
||||
nsTextEquivUtils::GetTextEquivFromSubtree(Accessible* aAccessible,
|
||||
nsString& aTextEquiv)
|
||||
{
|
||||
aTextEquiv.Truncate();
|
||||
|
||||
uint32_t nameRule = GetRoleRule(aAccessible->Role());
|
||||
if (nameRule & eNameFromSubtreeIfReqRule) {
|
||||
AppendFromAccessibleChildren(aAccessible, &aTextEquiv);
|
||||
aTextEquiv.CompressWhitespace();
|
||||
}
|
||||
}
|
||||
|
||||
nsresult
|
||||
nsTextEquivUtils::GetTextEquivFromIDRefs(Accessible* aAccessible,
|
||||
nsIAtom *aIDRefsAttr,
|
||||
|
@ -53,6 +53,14 @@ public:
|
||||
static nsresult GetNameFromSubtree(Accessible* aAccessible,
|
||||
nsAString& aName);
|
||||
|
||||
/**
|
||||
* Calculates text equivalent from the subtree. Similar to GetNameFromSubtree.
|
||||
* The difference it returns not empty result for things like HTML p, i.e.
|
||||
* if the role has eNameFromSubtreeIfReq rule.
|
||||
*/
|
||||
static void GetTextEquivFromSubtree(Accessible* aAccessible,
|
||||
nsString& aTextEquiv);
|
||||
|
||||
/**
|
||||
* Calculates text equivalent for the given accessible from its IDRefs
|
||||
* attribute (like aria-labelledby or aria-describedby).
|
||||
|
@ -1670,7 +1670,7 @@ Accessible::Value(nsString& aValue)
|
||||
}
|
||||
|
||||
if (option)
|
||||
nsTextEquivUtils::GetNameFromSubtree(option, aValue);
|
||||
nsTextEquivUtils::GetTextEquivFromSubtree(option, aValue);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -171,6 +171,7 @@
|
||||
testName("ctrlvalue_scrollbar:input", "foo 5 baz");
|
||||
testName("ctrlvalue_slider:input", "foo 5 baz");
|
||||
testName("ctrlvalue_spinbutton:input", "foo 5 baz");
|
||||
testName("ctrlvalue_combobox:input", "foo 5 baz");
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
@ -270,6 +271,11 @@
|
||||
title="Text is jammed with control's text in name computation">
|
||||
Bug 823927
|
||||
</a>
|
||||
<a target="_blank"
|
||||
href="https://bugzilla.mozilla.org/show_bug.cgi?id=835666"
|
||||
title="ARIA combobox selected value is not a part of name computation">
|
||||
Bug 835666
|
||||
</a>
|
||||
<p id="display"></p>
|
||||
<div id="content" style="display: none"></div>
|
||||
<pre id="test">
|
||||
@ -505,6 +511,20 @@
|
||||
baz
|
||||
</label>
|
||||
|
||||
<input type="checkbox" id="ctrlvalue_combobox:input">
|
||||
<label for="ctrlvalue_combobox:input">
|
||||
foo
|
||||
<div role="combobox">
|
||||
<div role="textbox"></div>
|
||||
<ul role="listbox" style="list-style-type: none;">
|
||||
<li role="option">1</li>
|
||||
<li role="option" aria-selected="true">5</li>
|
||||
<li role="option">3</li>
|
||||
</ul>
|
||||
</div>
|
||||
baz
|
||||
</label>
|
||||
|
||||
<!-- a label with a nested control in the start, middle and end -->
|
||||
<form>
|
||||
<!-- at the start (without and with whitespaces) -->
|
||||
|
Loading…
Reference in New Issue
Block a user