зеркало из https://github.com/mozilla/pjs.git
Bug 288986. Disabled attribute confusion causing some XUL elements to be exposed in accessibility APIs as disabled when they aren't. sr=neil, a=asa
This commit is contained in:
Родитель
2fe790c286
Коммит
bb1b37f305
|
@ -632,7 +632,18 @@ NS_IMETHODIMP nsAccessible::GetState(PRUint32 *aState)
|
|||
// The disabled attribute is mostly used in XUL elements and HTML forms, but
|
||||
// if someone sets it on another attribute,
|
||||
// it seems reasonable to consider it unavailable
|
||||
if (content->HasAttr(kNameSpaceID_None, nsAccessibilityAtoms::disabled)) {
|
||||
PRBool isDisabled;
|
||||
if (content->IsContentOfType(nsIContent::eHTML)) {
|
||||
// In HTML, just the presence of the disabled attribute means it is disabled,
|
||||
// therefore disabled="false" indicates disabled!
|
||||
isDisabled = content->HasAttr(kNameSpaceID_None, nsAccessibilityAtoms::disabled);
|
||||
}
|
||||
else {
|
||||
nsAutoString disabled;
|
||||
content->GetAttr(kNameSpaceID_None, nsAccessibilityAtoms::disabled, disabled);
|
||||
isDisabled = disabled.EqualsLiteral("true");
|
||||
}
|
||||
if (isDisabled) {
|
||||
*aState |= STATE_UNAVAILABLE;
|
||||
}
|
||||
else if (content->IsContentOfType(nsIContent::eELEMENT)) {
|
||||
|
|
|
@ -530,7 +530,7 @@
|
|||
var disabled = this.mPanelContainer.childNodes.length == 1;
|
||||
var menuItems = aPopupMenu.getElementsByAttribute("tbattr", "tabbrowser-multiple");
|
||||
for (var i = 0; i < menuItems.length; i++)
|
||||
menuItems[i].setAttribute("disabled", disabled);
|
||||
menuItems[i].disabled = disabled;
|
||||
]]>
|
||||
</body>
|
||||
</method>
|
||||
|
|
|
@ -28,9 +28,9 @@
|
|||
onset="return document.title = val;"/>
|
||||
|
||||
<property name="canAdvance" onget="return this._canAdvance;"
|
||||
onset="this._canAdvance=val; this._nextButton.setAttribute('disabled', !val);"/>
|
||||
onset="this._canAdvance=val; this._nextButton.disabled = !val;"/>
|
||||
<property name="canRewind" onget="return this._canRewind;"
|
||||
onset="this._canRewind=val; this._backButton.setAttribute('disabled', !val);"/>
|
||||
onset="this._canRewind=val; this._backButton.disabled = !val;"/>
|
||||
|
||||
<property name="pageStep" onget="return this._pageStack.length"/>
|
||||
|
||||
|
|
|
@ -497,7 +497,7 @@
|
|||
var disabled = this.mPanelContainer.childNodes.length == 1;
|
||||
var menuItems = aPopupMenu.getElementsByAttribute("tbattr", "tabbrowser-multiple");
|
||||
for (var i = 0; i < menuItems.length; i++)
|
||||
menuItems[i].setAttribute("disabled", disabled);
|
||||
menuItems[i].disabled = disabled;
|
||||
]]>
|
||||
</body>
|
||||
</method>
|
||||
|
|
|
@ -30,9 +30,9 @@
|
|||
onset="return document.title = val;"/>
|
||||
|
||||
<property name="canAdvance" onget="return this._canAdvance;"
|
||||
onset="this._canAdvance=val; this._nextButton.setAttribute('disabled', !val);"/>
|
||||
onset="this._canAdvance=val; this._nextButton.disabled = !val;"/>
|
||||
<property name="canRewind" onget="return this._canRewind;"
|
||||
onset="this._canRewind=val; this._backButton.setAttribute('disabled', !val);"/>
|
||||
onset="this._canRewind=val; this._backButton.disabled = !val;"/>
|
||||
|
||||
<property name="pageStep" onget="return this._pageStack.length"/>
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче