| Differences between
and this patch
- a/WebCore/ChangeLog +23 lines
Lines 1-3 a/WebCore/ChangeLog_sec1
1
2009-10-26  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
2
3
        Reviewed by NOBODY (OOPS!).
4
5
        https://bugs.webkit.org/show_bug.cgi?id=25897
6
        [Gtk] Extraneous object of ROLE_PANEL in hierarchy for entries
7
8
        Expands upon the new funtionality which allows platforms to indicate
9
        that a particular object should not be ignored, so that they can
10
        specify that an object should be ignored or that it should be left up
11
        to the platform to decide.
12
13
        * accessibility/AccessibilityObject.h:
14
        * accessibility/chromium/AccessibilityObjectChromium.cpp:
15
        * accessibility/gtk/AccessibilityObjectAtk.cpp:
16
        * accessibility/mac/AccessibilityObjectMac.mm:
17
        * accessibility/qt/AccessibilityObjectQt.cpp:
18
        * accessibility/win/AccessibilityObjectWin.cpp:
19
        * accessibility/wx/AccessibilityObjectWx.cpp:
20
        (AccessibilityObject::accessibilityPlatformIncludesObject):
21
        * accessibility/AccessibilityRenderObject.cpp:
22
        (AccessibilityRenderObject::accessibilityIsIgnored):
23
1
2009-10-26  Chris Fleizach  <cfleizach@apple.com>
24
2009-10-26  Chris Fleizach  <cfleizach@apple.com>
2
25
3
        Reviewed by Darin Adler.
26
        Reviewed by Darin Adler.
- a/WebCore/accessibility/AccessibilityObject.h -3 / +11 lines
Lines 188-193 enum AccessibilityOrientation { a/WebCore/accessibility/AccessibilityObject.h_sec1
188
    AccessibilityOrientationHorizontal,
188
    AccessibilityOrientationHorizontal,
189
};
189
};
190
    
190
    
191
enum AccessibilityObjectInclusion {
192
    AccessibilityPlatformIncludesObject,
193
    AccessibilityPlatformIgnoresObject,
194
    AccessibilityPlatformLetsCoreDecide,
195
};
196
191
struct VisiblePositionRange {
197
struct VisiblePositionRange {
192
198
193
    VisiblePosition start;
199
    VisiblePosition start;
Lines 459-469 public: a/WebCore/accessibility/AccessibilityObject.h_sec2
459
    bool accessibilityIgnoreAttachment() const { return true; }
465
    bool accessibilityIgnoreAttachment() const { return true; }
460
#endif
466
#endif
461
467
462
    // gives platforms the opportunity to indicate that an object shouldn't be ignored
468
    // gives platforms the opportunity to indicate if and how an object should
469
    // be included
463
#if HAVE(ACCESSIBILITY)
470
#if HAVE(ACCESSIBILITY)
464
    bool accessibilityPlatformIncludesObject() const;
471
    AccessibilityObjectInclusion accessibilityPlatformIncludesObject() const;
465
#else
472
#else
466
    bool accessibilityPlatformIncludesObject() const { return false; }
473
    // this won't ever get called....
474
    AccessibilityObjectInclusion accessibilityPlatformIncludesObject() const { return AccessibilityPlatformLetsCoreDecide; }
467
#endif
475
#endif
468
476
469
    // allows for an AccessibilityObject to update its render tree or perform
477
    // allows for an AccessibilityObject to update its render tree or perform
- a/WebCore/accessibility/AccessibilityRenderObject.cpp -1 / +5 lines
Lines 1259-1266 bool AccessibilityRenderObject::ariaIsHidden() const a/WebCore/accessibility/AccessibilityRenderObject.cpp_sec1
1259
bool AccessibilityRenderObject::accessibilityIsIgnored() const
1259
bool AccessibilityRenderObject::accessibilityIsIgnored() const
1260
{
1260
{
1261
    // is the platform is interested in this object?
1261
    // is the platform is interested in this object?
1262
    if (accessibilityPlatformIncludesObject())
1262
    AccessibilityObjectInclusion decision = accessibilityPlatformIncludesObject();
1263
    if (decision == AccessibilityPlatformIncludesObject)
1263
        return false;
1264
        return false;
1265
    if (decision == AccessibilityPlatformIgnoresObject)
1266
        return true;
1267
    // the decision must, therefore, be AccessibilityPlatformLetsCoreDecide.
1264
1268
1265
    // ignore invisible element
1269
    // ignore invisible element
1266
    if (!m_renderer || m_renderer->style()->visibility() != VISIBLE)
1270
    if (!m_renderer || m_renderer->style()->visibility() != VISIBLE)
- a/WebCore/accessibility/chromium/AccessibilityObjectChromium.cpp -2 / +2 lines
Lines 34-42 bool AccessibilityObject::accessibilityIgnoreAttachment() const a/WebCore/accessibility/chromium/AccessibilityObjectChromium.cpp_sec1
34
    return false;
34
    return false;
35
}
35
}
36
36
37
bool AccessibilityObject::accessibilityPlatformIncludesObject() const
37
AccessibilityObjectInclusion AccessibilityObject::accessibilityPlatformIncludesObject() const
38
{
38
{
39
    return false;
39
    return AccessibilityPlatformLetsCoreDecide;
40
}
40
}
41
41
42
} // namespace WebCore
42
} // namespace WebCore
- a/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp -7 / +14 lines
Lines 32-48 bool AccessibilityObject::accessibilityIgnoreAttachment() const a/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp_sec1
32
    return false;
32
    return false;
33
}
33
}
34
34
35
bool AccessibilityObject::accessibilityPlatformIncludesObject() const
35
AccessibilityObjectInclusion AccessibilityObject::accessibilityPlatformIncludesObject() const
36
{
36
{
37
    if (isWebArea())
38
        return AccessibilityPlatformLetsCoreDecide;
39
40
    AccessibilityObject* parent = parentObject();
41
37
    // When a list item is made up entirely of children (e.g. paragraphs)
42
    // When a list item is made up entirely of children (e.g. paragraphs)
38
    // the list item gets ignored. We need it.
43
    // the list item gets ignored. We need it.
39
    if (isGroup()) {
44
    if (isGroup() && parent && parent->isList())
40
        AccessibilityObject* parent = parentObject();
45
        return AccessibilityPlatformIncludesObject;
41
        if (parent && parent->isList())
42
            return true;
43
    }
44
46
45
    return false;
47
    // Entries and password fields have extraneous children which we want
48
    // to ignore.
49
    if (parent && (parent->isPasswordField() || parent->isTextControl()))
50
        return AccessibilityPlatformIgnoresObject;
51
52
    return AccessibilityPlatformLetsCoreDecide;
46
}
53
}
47
54
48
AccessibilityObjectWrapper* AccessibilityObject::wrapper() const
55
AccessibilityObjectWrapper* AccessibilityObject::wrapper() const
- a/WebCore/accessibility/mac/AccessibilityObjectMac.mm -2 / +2 lines
Lines 41-49 bool AccessibilityObject::accessibilityIgnoreAttachment() const a/WebCore/accessibility/mac/AccessibilityObjectMac.mm_sec1
41
    return [attachment accessibilityIsIgnored];
41
    return [attachment accessibilityIsIgnored];
42
}
42
}
43
43
44
bool AccessibilityObject::accessibilityPlatformIncludesObject() const
44
AccessibilityObjectInclusion AccessibilityObject::accessibilityPlatformIncludesObject() const
45
{
45
{
46
    return false;
46
    return AccessibilityPlatformLetsCoreDecide;
47
}
47
}
48
    
48
    
49
} // WebCore
49
} // WebCore
- a/WebCore/accessibility/qt/AccessibilityObjectQt.cpp -2 / +2 lines
Lines 29-37 bool AccessibilityObject::accessibilityIgnoreAttachment() const a/WebCore/accessibility/qt/AccessibilityObjectQt.cpp_sec1
29
    return false;
29
    return false;
30
}
30
}
31
31
32
bool AccessibilityObject::accessibilityPlatformIncludesObject() const
32
AccessibilityObjectInclusion AccessibilityObject::accessibilityPlatformIncludesObject() const
33
{
33
{
34
    return false;
34
    return AccessibilityPlatformLetsCoreDecide;
35
}
35
}
36
36
37
} // namespace WebCore
37
} // namespace WebCore
- a/WebCore/accessibility/win/AccessibilityObjectWin.cpp -2 / +2 lines
Lines 35-43 bool AccessibilityObject::accessibilityIgnoreAttachment() const a/WebCore/accessibility/win/AccessibilityObjectWin.cpp_sec1
35
    return false;
35
    return false;
36
}
36
}
37
37
38
bool AccessibilityObject::accessibilityPlatformIncludesObject() const
38
AccessibilityObjectInclusion AccessibilityObject::accessibilityPlatformIncludesObject() const
39
{
39
{
40
    return false;
40
    return AccessibilityPlatformLetsCoreDecide;
41
}
41
}
42
42
43
} // namespace WebCore
43
} // namespace WebCore
- a/WebCore/accessibility/wx/AccessibilityObjectWx.cpp -3 / +2 lines
Lines 29-37 bool AccessibilityObject::accessibilityIgnoreAttachment() const a/WebCore/accessibility/wx/AccessibilityObjectWx.cpp_sec1
29
    return false;
29
    return false;
30
}
30
}
31
31
32
bool AccessibilityObject::accessibilityPlatformIncludesObject() const
32
AccessibilityObjectInclusion AccessibilityObject::accessibilityPlatformIncludesObject() const
33
{
33
{
34
    return false;
34
    return AccessibilityPlatformLetsCoreDecide;
35
}
35
}
36
36
37
} // namespace WebCore
37
} // namespace WebCore
38
- 

Return to Bug 25897