Changeset 190648 in webkit


Ignore:
Timestamp:
Oct 6, 2015, 2:46:08 PM (10 years ago)
Author:
n_wang@apple.com
Message:

AX: ARIA 1.1: aria-orientation now defaults to undefined, supported on more elements, and role-specific defaults are defined.
https://bugs.webkit.org/show_bug.cgi?id=132177

Reviewed by Chris Fleizach.

Source/WebCore:

Added role-specific defaults and changed general default to undefined.
Also added more elements to support aria-orientation on Mac.

Test: accessibility/mac/aria-orientation.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::orientation):
(WebCore::AccessibilityObject::isDescendantOfObject):

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::isColorWell):
(WebCore::AccessibilityObject::isSplitter):
(WebCore::AccessibilityObject::isToolbar):
(WebCore::AccessibilityObject::isChecked):
(WebCore::AccessibilityObject::isEnabled):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::orientation):

  • accessibility/AccessibilityScrollView.cpp:

(WebCore::AccessibilityScrollView::scrollBar):

  • accessibility/AccessibilityScrollbar.cpp:

(WebCore::AccessibilityScrollbar::orientation):
(WebCore::AccessibilityScrollbar::isEnabled):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):

LayoutTests:

  • accessibility/mac/aria-orientation-expected.txt: Added.
  • accessibility/mac/aria-orientation.html: Added.
Location:
trunk
Files:
2 added
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r190644 r190648  
     12015-10-06  Nan Wang  <n_wang@apple.com>
     2
     3        AX: ARIA 1.1: aria-orientation now defaults to undefined, supported on more elements, and role-specific defaults are defined.
     4        https://bugs.webkit.org/show_bug.cgi?id=132177
     5
     6        Reviewed by Chris Fleizach.
     7
     8        * accessibility/mac/aria-orientation-expected.txt: Added.
     9        * accessibility/mac/aria-orientation.html: Added.
     10
    1112015-10-06  Simon Fraser  <simon.fraser@apple.com>
    212
  • trunk/Source/WebCore/ChangeLog

    r190643 r190648  
     12015-10-06  Nan Wang  <n_wang@apple.com>
     2
     3        AX: ARIA 1.1: aria-orientation now defaults to undefined, supported on more elements, and role-specific defaults are defined.
     4        https://bugs.webkit.org/show_bug.cgi?id=132177
     5
     6        Reviewed by Chris Fleizach.
     7
     8        Added role-specific defaults and changed general default to undefined.
     9        Also added more elements to support aria-orientation on Mac.
     10
     11        Test: accessibility/mac/aria-orientation.html
     12
     13        * accessibility/AccessibilityObject.cpp:
     14        (WebCore::AccessibilityObject::orientation):
     15        (WebCore::AccessibilityObject::isDescendantOfObject):
     16        * accessibility/AccessibilityObject.h:
     17        (WebCore::AccessibilityObject::isColorWell):
     18        (WebCore::AccessibilityObject::isSplitter):
     19        (WebCore::AccessibilityObject::isToolbar):
     20        (WebCore::AccessibilityObject::isChecked):
     21        (WebCore::AccessibilityObject::isEnabled):
     22        * accessibility/AccessibilityRenderObject.cpp:
     23        (WebCore::AccessibilityRenderObject::orientation):
     24        * accessibility/AccessibilityScrollView.cpp:
     25        (WebCore::AccessibilityScrollView::scrollBar):
     26        * accessibility/AccessibilityScrollbar.cpp:
     27        (WebCore::AccessibilityScrollbar::orientation):
     28        (WebCore::AccessibilityScrollbar::isEnabled):
     29        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
     30        (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
     31        (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
     32
    1332015-10-06  Per Arne Vollan  <peavo@outlook.com>
    234
  • trunk/Source/WebCore/accessibility/AccessibilityObject.cpp

    r189862 r190648  
    18781878        return AccessibilityOrientationVertical;
    18791879
    1880     // A tie goes to horizontal.
    1881     return AccessibilityOrientationHorizontal;
     1880    return AccessibilityOrientationUndefined;
    18821881}   
    18831882
  • trunk/Source/WebCore/accessibility/AccessibilityObject.h

    r189650 r190648  
    280280    AccessibilityOrientationVertical,
    281281    AccessibilityOrientationHorizontal,
     282    AccessibilityOrientationUndefined,
    282283};
    283284   
     
    537538    bool isRangeControl() const;
    538539    bool isMeter() const;
     540    bool isSplitter() const { return roleValue() == SplitterRole; }
     541    bool isToolbar() const { return roleValue() == ToolbarRole; }
    539542
    540543    virtual bool isChecked() const { return false; }
  • trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp

    r188809 r190648  
    27182718    if (equalIgnoringCase(ariaOrientation, "vertical"))
    27192719        return AccessibilityOrientationVertical;
    2720 
    2721     if (isScrollbar())
     2720    if (equalIgnoringCase(ariaOrientation, "undefined"))
     2721        return AccessibilityOrientationUndefined;
     2722
     2723    // ARIA 1.1 Implicit defaults are defined on some roles.
     2724    // http://www.w3.org/TR/wai-aria-1.1/#aria-orientation
     2725    if (isScrollbar() || isComboBox() || isListBox() || isMenu() || isTree())
    27222726        return AccessibilityOrientationVertical;
     2727   
     2728    if (isMenuBar() || isSplitter() || isTabList() || isToolbar())
     2729        return AccessibilityOrientationHorizontal;
    27232730   
    27242731    return AccessibilityObject::orientation();
  • trunk/Source/WebCore/accessibility/AccessibilityScrollView.cpp

    r184979 r190648  
    6565   
    6666    switch (orientation) {
     67    // ARIA 1.1 Elements with the role scrollbar have an implicit aria-orientation value of vertical.
     68    case AccessibilityOrientationUndefined:
    6769    case AccessibilityOrientationVertical:
    6870        return m_verticalScrollbar ? m_verticalScrollbar.get() : nullptr;
  • trunk/Source/WebCore/accessibility/AccessibilityScrollbar.cpp

    r180474 r190648  
    6666AccessibilityOrientation AccessibilityScrollbar::orientation() const
    6767{
     68    // ARIA 1.1 Elements with the role scrollbar have an implicit aria-orientation value of vertical.
    6869    if (!m_scrollbar)
    69         return AccessibilityOrientationHorizontal;
     70        return AccessibilityOrientationVertical;
    7071
    7172    if (m_scrollbar->orientation() == HorizontalScrollbar)
     
    7475        return AccessibilityOrientationVertical;
    7576
    76     return AccessibilityOrientationHorizontal;
     77    return AccessibilityOrientationVertical;
    7778}
    7879
  • trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm

    r189650 r190648  
    12371237        [additional addObject:NSAccessibilityExpandedAttribute];
    12381238   
    1239     if (m_object->isScrollbar())
     1239    if (m_object->isScrollbar()
     1240        || m_object->isRadioGroup()
     1241        || m_object->isSplitter()
     1242        || m_object->isToolbar())
    12401243        [additional addObject:NSAccessibilityOrientationAttribute];
    12411244   
     
    14401443        [tempArray addObject:NSAccessibilityRequiredAttribute];
    14411444        [tempArray addObject:NSAccessibilityInvalidAttribute];
     1445        [tempArray addObject:NSAccessibilityOrientationAttribute];
    14421446        listBoxAttrs = [[NSArray alloc] initWithArray:tempArray];
    14431447        [tempArray release];
     
    14581462        [tempArray addObject:NSAccessibilityVisibleChildrenAttribute];
    14591463        [tempArray addObject:NSAccessibilityTitleUIElementAttribute];
     1464        [tempArray addObject:NSAccessibilityOrientationAttribute];
    14601465        menuBarAttrs = [[NSArray alloc] initWithArray:tempArray];
    14611466        [tempArray release];
     
    14661471        [tempArray addObject:NSAccessibilityVisibleChildrenAttribute];
    14671472        [tempArray addObject:NSAccessibilityTitleUIElementAttribute];
     1473        [tempArray addObject:NSAccessibilityOrientationAttribute];
    14681474        menuAttrs = [[NSArray alloc] initWithArray:tempArray];
    14691475        [tempArray release];
     
    15301536        tempArray = [[NSMutableArray alloc] initWithArray:controlAttrs];
    15311537        [tempArray addObject:NSAccessibilityExpandedAttribute];
     1538        [tempArray addObject:NSAccessibilityOrientationAttribute];
    15321539        comboBoxAttrs = [[NSArray alloc] initWithArray:tempArray];
    15331540        [tempArray release];
     
    15981605        [tempArray addObject:NSAccessibilityTabsAttribute];
    15991606        [tempArray addObject:NSAccessibilityContentsAttribute];
     1607        [tempArray addObject:NSAccessibilityOrientationAttribute];
    16001608        tabListAttrs = [[NSArray alloc] initWithArray:tempArray];
    16011609        [tempArray release];
     
    16061614        [tempArray addObject:NSAccessibilityRowsAttribute];
    16071615        [tempArray addObject:NSAccessibilityColumnsAttribute];
     1616        [tempArray addObject:NSAccessibilityOrientationAttribute];
    16081617        outlineAttrs = [[NSArray alloc] initWithArray:tempArray];
    16091618        [tempArray release];
     
    29282937        if (elementOrientation == AccessibilityOrientationHorizontal)
    29292938            return NSAccessibilityHorizontalOrientationValue;
     2939        if (elementOrientation == AccessibilityOrientationUndefined)
     2940            return NSAccessibilityUnknownOrientationValue;
    29302941        return nil;
    29312942    }
Note: See TracChangeset for help on using the changeset viewer.