Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(125)

Side by Side Diff: third_party/WebKit/Source/modules/accessibility/AXObject.h

Issue 2112243004: Ignores ARIA relations (e.g. aria-labelledby) that point to an invisible target. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Changed invisible to hidden to match ARIA Implementation Guide. Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2008, 2009, 2011 Apple Inc. All rights reserved. 2 * Copyright (C) 2008, 2009, 2011 Apple Inc. All rights reserved.
3 * Copyright (C) 2008 Nuanti Ltd. 3 * Copyright (C) 2008 Nuanti Ltd.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 8 *
9 * 1. Redistributions of source code must retain the above copyright 9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 652 matching lines...) Expand 10 before | Expand all | Expand 10 after
663 virtual AXObjectInclusion defaultObjectInclusion(IgnoredReasons* = nullptr) const; 663 virtual AXObjectInclusion defaultObjectInclusion(IgnoredReasons* = nullptr) const;
664 bool isInertOrAriaHidden() const; 664 bool isInertOrAriaHidden() const;
665 const AXObject* ariaHiddenRoot() const; 665 const AXObject* ariaHiddenRoot() const;
666 bool computeIsInertOrAriaHidden(IgnoredReasons* = nullptr) const; 666 bool computeIsInertOrAriaHidden(IgnoredReasons* = nullptr) const;
667 bool isDescendantOfLeafNode() const; 667 bool isDescendantOfLeafNode() const;
668 AXObject* leafNodeAncestor() const; 668 AXObject* leafNodeAncestor() const;
669 bool isDescendantOfDisabledNode() const; 669 bool isDescendantOfDisabledNode() const;
670 const AXObject* disabledAncestor() const; 670 const AXObject* disabledAncestor() const;
671 bool lastKnownIsIgnoredValue(); 671 bool lastKnownIsIgnoredValue();
672 void setLastKnownIsIgnoredValue(bool); 672 void setLastKnownIsIgnoredValue(bool);
673 bool isHiddenForTextAlternativeCalculation() const;
673 bool hasInheritedPresentationalRole() const; 674 bool hasInheritedPresentationalRole() const;
674 bool isPresentationalChild() const; 675 bool isPresentationalChild() const;
675 bool ancestorExposesActiveDescendant() const; 676 bool ancestorExposesActiveDescendant() const;
676 bool computeAncestorExposesActiveDescendant() const; 677 bool computeAncestorExposesActiveDescendant() const;
677 678
678 // 679 //
679 // Accessible name calculation 680 // Accessible name calculation
680 // 681 //
681 682
682 // Retrieves the accessible name of the object, an enum indicating where the name 683 // Retrieves the accessible name of the object, an enum indicating where the name
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after
947 AXID m_id; 948 AXID m_id;
948 AXObjectVector m_children; 949 AXObjectVector m_children;
949 mutable bool m_haveChildren; 950 mutable bool m_haveChildren;
950 AccessibilityRole m_role; 951 AccessibilityRole m_role;
951 AXObjectInclusion m_lastKnownIsIgnoredValue; 952 AXObjectInclusion m_lastKnownIsIgnoredValue;
952 LayoutRect m_explicitElementRect; 953 LayoutRect m_explicitElementRect;
953 954
954 // Used only inside textAlternative(): 955 // Used only inside textAlternative():
955 static String collapseWhitespace(const String&); 956 static String collapseWhitespace(const String&);
956 static String recursiveTextAlternative(const AXObject&, bool inAriaLabelledB yTraversal, AXObjectSet& visited); 957 static String recursiveTextAlternative(const AXObject&, bool inAriaLabelledB yTraversal, AXObjectSet& visited);
957 bool isHiddenForTextAlternativeCalculation() const;
958 String ariaTextAlternative(bool recursive, bool inAriaLabelledByTraversal, A XObjectSet& visited, AXNameFrom&, AXRelatedObjectVector*, NameSources*, bool* fo undTextAlternative) const; 958 String ariaTextAlternative(bool recursive, bool inAriaLabelledByTraversal, A XObjectSet& visited, AXNameFrom&, AXRelatedObjectVector*, NameSources*, bool* fo undTextAlternative) const;
959 String textFromElements(bool inAriaLabelledByTraversal, AXObjectSet& visited , HeapVector<Member<Element>>& elements, AXRelatedObjectVector* relatedObjects) const; 959 String textFromElements(bool inAriaLabelledByTraversal, AXObjectSet& visited , HeapVector<Member<Element>>& elements, AXRelatedObjectVector* relatedObjects) const;
960 void tokenVectorFromAttribute(Vector<String>&, const QualifiedName&) const; 960 void tokenVectorFromAttribute(Vector<String>&, const QualifiedName&) const;
961 void elementsFromAttribute(HeapVector<Member<Element>>& elements, const Qual ifiedName&) const; 961 void elementsFromAttribute(HeapVector<Member<Element>>& elements, const Qual ifiedName&) const;
962 void ariaLabelledbyElementVector(HeapVector<Member<Element>>& elements) cons t; 962 void ariaLabelledbyElementVector(HeapVector<Member<Element>>& elements) cons t;
963 String textFromAriaLabelledby(AXObjectSet& visited, AXRelatedObjectVector* r elatedObjects) const; 963 String textFromAriaLabelledby(AXObjectSet& visited, AXRelatedObjectVector* r elatedObjects) const;
964 String textFromAriaDescribedby(AXRelatedObjectVector* relatedObjects) const; 964 String textFromAriaDescribedby(AXRelatedObjectVector* relatedObjects) const;
965 965
966 virtual const AXObject* inheritsPresentationalRoleFrom() const { return 0; } 966 virtual const AXObject* inheritsPresentationalRoleFrom() const { return 0; }
967 967
(...skipping 28 matching lines...) Expand all
996 996
997 static unsigned s_numberOfLiveAXObjects; 997 static unsigned s_numberOfLiveAXObjects;
998 }; 998 };
999 999
1000 #define DEFINE_AX_OBJECT_TYPE_CASTS(thisType, predicate) \ 1000 #define DEFINE_AX_OBJECT_TYPE_CASTS(thisType, predicate) \
1001 DEFINE_TYPE_CASTS(thisType, AXObject, object, object->predicate, object.pred icate) 1001 DEFINE_TYPE_CASTS(thisType, AXObject, object, object->predicate, object.pred icate)
1002 1002
1003 } // namespace blink 1003 } // namespace blink
1004 1004
1005 #endif // AXObject_h 1005 #endif // AXObject_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698