⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 accessibilityuielementmac.mm

📁 linux下开源浏览器WebKit的源码,市面上的很多商用浏览器都是移植自WebKit
💻 MM
📖 第 1 页 / 共 2 页
字号:
    getLinkedUIElements(linkedElements);    return descriptionOfElements(linkedElements);}JSStringRef AccessibilityUIElement::attributesOfDocumentLinks(){    Vector<AccessibilityUIElement> linkElements;    getDocumentLinks(linkElements);    return descriptionOfElements(linkElements);}JSStringRef AccessibilityUIElement::attributesOfChildren(){    Vector<AccessibilityUIElement> children;    getChildren(children);    return descriptionOfElements(children);}JSStringRef AccessibilityUIElement::allAttributes(){    NSString* attributes = attributesOfElement(m_element);    return [attributes createJSStringRef];}JSStringRef AccessibilityUIElement::attributeValue(JSStringRef attribute){    id value = [m_element accessibilityAttributeValue:[NSString stringWithJSStringRef:attribute]];    if (![value isKindOfClass:[NSString class]])        return NULL;    return [value createJSStringRef];}bool AccessibilityUIElement::isAttributeSettable(JSStringRef attribute){    return [m_element accessibilityIsAttributeSettable:[NSString stringWithJSStringRef:attribute]];}JSStringRef AccessibilityUIElement::parameterizedAttributeNames(){    NSArray* supportedParameterizedAttributes = [m_element accessibilityParameterizedAttributeNames];        NSMutableString* attributesString = [NSMutableString string];    for (NSUInteger i = 0; i < [supportedParameterizedAttributes count]; ++i) {        [attributesString appendFormat:@"%@\n", [supportedParameterizedAttributes objectAtIndex:i]];    }        return [attributesString createJSStringRef];}JSStringRef AccessibilityUIElement::role(){    NSString* role = descriptionOfValue([m_element accessibilityAttributeValue:@"AXRole"], m_element);    return concatenateAttributeAndValue(@"AXRole", role);}JSStringRef AccessibilityUIElement::title(){    NSString* title = descriptionOfValue([m_element accessibilityAttributeValue:@"AXTitle"], m_element);    return concatenateAttributeAndValue(@"AXTitle", title);}JSStringRef AccessibilityUIElement::description(){    id description = descriptionOfValue([m_element accessibilityAttributeValue:@"AXDescription"], m_element);    return concatenateAttributeAndValue(@"AXDescription", description);}double AccessibilityUIElement::width(){    NSValue* sizeValue = [m_element accessibilityAttributeValue:@"AXSize"];    return static_cast<double>([sizeValue sizeValue].width);}double AccessibilityUIElement::height(){    NSValue* sizeValue = [m_element accessibilityAttributeValue:@"AXSize"];    return static_cast<double>([sizeValue sizeValue].height);}double AccessibilityUIElement::intValue(){    id value = [m_element accessibilityAttributeValue:@"AXValue"];    if ([value isKindOfClass:[NSNumber class]])        return [(NSNumber*)value doubleValue];     return 0.0f;}double AccessibilityUIElement::minValue(){    id value = [m_element accessibilityAttributeValue:@"AXMinValue"];    if ([value isKindOfClass:[NSNumber class]])        return [(NSNumber*)value doubleValue];     return 0.0f;}double AccessibilityUIElement::maxValue(){    id value = [m_element accessibilityAttributeValue:@"AXMaxValue"];    if ([value isKindOfClass:[NSNumber class]])        return [(NSNumber*)value doubleValue];     return 0.0;}int AccessibilityUIElement::insertionPointLineNumber(){    id value = [m_element accessibilityAttributeValue:@"AXInsertionPointLineNumber"];    if ([value isKindOfClass:[NSNumber class]])        return [(NSNumber *)value intValue];     return -1;}bool AccessibilityUIElement::supportsPressAction(){    NSArray* actions = [m_element accessibilityActionNames];    return [actions containsObject:@"AXPress"];}// parameterized attributesint AccessibilityUIElement::lineForIndex(int index){    id value = [m_element accessibilityAttributeValue:@"AXLineForIndex" forParameter:[NSNumber numberWithInt:index]];    if ([value isKindOfClass:[NSNumber class]])        return [(NSNumber *)value intValue];     return -1;}JSStringRef AccessibilityUIElement::boundsForRange(unsigned location, unsigned length){    NSRange range = NSMakeRange(location, length);    id value = [m_element accessibilityAttributeValue:NSAccessibilityBoundsForRangeParameterizedAttribute forParameter:[NSValue valueWithRange:range]];    NSRect rect = NSMakeRect(0,0,0,0);    if ([value isKindOfClass:[NSValue class]])        rect = [value rectValue];         // don't return position information because it is platform dependent    NSMutableString* boundsDescription = [NSMutableString stringWithFormat:@"{{%f, %f}, {%f, %f}}",-1.0f,-1.0f,rect.size.width,rect.size.height];    return [boundsDescription createJSStringRef];}JSStringRef AccessibilityUIElement::attributesOfColumnHeaders(){    // not yet defined in AppKit... odd    NSArray* columnHeadersArray = [m_element accessibilityAttributeValue:@"AXColumnHeaderUIElements"];    Vector<AccessibilityUIElement> columnHeadersVector;    convertNSArrayToVector(columnHeadersArray, columnHeadersVector);    return descriptionOfElements(columnHeadersVector);}JSStringRef AccessibilityUIElement::attributesOfRowHeaders(){    NSArray* rowHeadersArray = [m_element accessibilityAttributeValue:@"AXRowHeaderUIElements"];    Vector<AccessibilityUIElement> rowHeadersVector;    convertNSArrayToVector(rowHeadersArray, rowHeadersVector);    return descriptionOfElements(rowHeadersVector);}JSStringRef AccessibilityUIElement::attributesOfColumns(){    NSArray* columnsArray = [m_element accessibilityAttributeValue:NSAccessibilityColumnsAttribute];    Vector<AccessibilityUIElement> columnsVector;    convertNSArrayToVector(columnsArray, columnsVector);    return descriptionOfElements(columnsVector);}JSStringRef AccessibilityUIElement::attributesOfRows(){    NSArray* rowsArray = [m_element accessibilityAttributeValue:NSAccessibilityRowsAttribute];    Vector<AccessibilityUIElement> rowsVector;    convertNSArrayToVector(rowsArray, rowsVector);    return descriptionOfElements(rowsVector);}JSStringRef AccessibilityUIElement::attributesOfVisibleCells(){    NSArray* cellsArray = [m_element accessibilityAttributeValue:@"AXVisibleCells"];    Vector<AccessibilityUIElement> cellsVector;    convertNSArrayToVector(cellsArray, cellsVector);    return descriptionOfElements(cellsVector);}JSStringRef AccessibilityUIElement::attributesOfHeader(){    id headerObject = [m_element accessibilityAttributeValue:NSAccessibilityHeaderAttribute];    if (!headerObject)        return [@"" createJSStringRef];        Vector<AccessibilityUIElement> headerVector;    headerVector.append(headerObject);    return descriptionOfElements(headerVector);}int AccessibilityUIElement::indexInTable(){    NSNumber* indexNumber = [m_element accessibilityAttributeValue:NSAccessibilityIndexAttribute];    if (!indexNumber)        return -1;    return [indexNumber intValue];}JSStringRef AccessibilityUIElement::rowIndexRange(){    NSValue* indexRange = [m_element accessibilityAttributeValue:@"AXRowIndexRange"];    NSRange range = indexRange ? [indexRange rangeValue] : NSMakeRange(0,0);    NSMutableString* rangeDescription = [NSMutableString stringWithFormat:@"{%d, %d}",range.location, range.length];    return [rangeDescription createJSStringRef];}JSStringRef AccessibilityUIElement::columnIndexRange(){    NSNumber* indexRange = [m_element accessibilityAttributeValue:@"AXColumnIndexRange"];    NSRange range = indexRange ? [indexRange rangeValue] : NSMakeRange(0,0);    NSMutableString* rangeDescription = [NSMutableString stringWithFormat:@"{%d, %d}",range.location, range.length];    return [rangeDescription createJSStringRef];    }AccessibilityUIElement AccessibilityUIElement::cellForColumnAndRow(unsigned col, unsigned row){    NSArray *colRowArray = [NSArray arrayWithObjects:[NSNumber numberWithUnsignedInt:col], [NSNumber numberWithUnsignedInt:row], nil];    return [m_element accessibilityAttributeValue:@"AXCellForColumnAndRow" forParameter:colRowArray];}JSStringRef AccessibilityUIElement::selectedTextRange(){    NSNumber *indexRange = [m_element accessibilityAttributeValue:NSAccessibilitySelectedTextRangeAttribute];    NSRange range = indexRange ? [indexRange rangeValue] : NSMakeRange(0,0);    NSMutableString *rangeDescription = [NSMutableString stringWithFormat:@"{%d, %d}",range.location, range.length];    return [rangeDescription createJSStringRef];    }void AccessibilityUIElement::setSelectedTextRange(unsigned location, unsigned length){    NSRange textRange = NSMakeRange(location, length);    NSValue *textRangeValue = [NSValue valueWithRange:textRange];    [m_element accessibilitySetValue:textRangeValue forAttribute:NSAccessibilitySelectedTextRangeAttribute];}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -