AccessibilityRole AccessibilityMathMLElement::determineAccessibilityRole() { if (!m_renderer) return UnknownRole; if ((m_ariaRole = determineAriaRoleAttribute()) != UnknownRole) return m_ariaRole; Node* node = m_renderer->node(); if (node && node->hasTagName(MathMLNames::mathTag)) return DocumentMathRole; // It's not clear which role a platform should choose for a math element. // Declaring a math element role should give flexibility to platforms to choose. return MathElementRole; }
AccessibilityRole AccessibilitySVGElement::determineAccessibilityRole() { if ((m_ariaRole = determineAriaRoleAttribute()) != AccessibilityRole::Unknown) return m_ariaRole; Element* svgElement = element(); if (m_renderer->isSVGShape() || m_renderer->isSVGPath() || m_renderer->isSVGImage() || is<SVGUseElement>(svgElement)) return AccessibilityRole::Image; if (m_renderer->isSVGForeignObject() || is<SVGGElement>(svgElement)) return AccessibilityRole::Group; if (m_renderer->isSVGText()) return AccessibilityRole::SVGText; if (m_renderer->isSVGTextPath()) return AccessibilityRole::SVGTextPath; if (m_renderer->isSVGTSpan()) return AccessibilityRole::SVGTSpan; if (is<SVGAElement>(svgElement)) return AccessibilityRole::WebCoreLink; return AccessibilityRenderObject::determineAccessibilityRole(); }