AccessibilityMathMLElement.h [plain text]
#pragma once
#if ENABLE(MATHML)
#include "AccessibilityRenderObject.h"
#include "RenderMathMLBlock.h"
#include "RenderMathMLFraction.h"
#include "RenderMathMLMath.h"
#include "RenderMathMLOperator.h"
#include "RenderMathMLRoot.h"
namespace WebCore {
class AccessibilityMathMLElement : public AccessibilityRenderObject {
public:
static Ref<AccessibilityMathMLElement> create(RenderObject*, bool isAnonymousOperator);
virtual ~AccessibilityMathMLElement();
protected:
explicit AccessibilityMathMLElement(RenderObject*, bool isAnonymousOperator);
private:
AccessibilityRole determineAccessibilityRole() final;
String textUnderElement(AccessibilityTextUnderElementMode = AccessibilityTextUnderElementMode()) const override;
String stringValue() const override;
bool isIgnoredElementWithinMathTree() const final;
bool isMathElement() const final { return true; }
bool isMathFraction() const override;
bool isMathFenced() const override;
bool isMathSubscriptSuperscript() const override;
bool isMathRow() const override;
bool isMathUnderOver() const override;
bool isMathRoot() const override;
bool isMathSquareRoot() const override;
bool isMathText() const override;
bool isMathNumber() const override;
bool isMathOperator() const override;
bool isMathFenceOperator() const override;
bool isMathSeparatorOperator() const override;
bool isMathIdentifier() const override;
bool isMathTable() const override;
bool isMathTableRow() const override;
bool isMathTableCell() const override;
bool isMathMultiscript() const override;
bool isMathToken() const override;
bool isMathScriptObject(AccessibilityMathScriptObjectType) const override;
bool isMathMultiscriptObject(AccessibilityMathMultiscriptObjectType) const override;
AccessibilityObject* mathBaseObject() override;
AccessibilityObject* mathRadicandObject() override;
AccessibilityObject* mathRootIndexObject() override;
AccessibilityObject* mathNumeratorObject() override;
AccessibilityObject* mathDenominatorObject() override;
AccessibilityObject* mathUnderObject() override;
AccessibilityObject* mathOverObject() override;
AccessibilityObject* mathSubscriptObject() override;
AccessibilityObject* mathSuperscriptObject() override;
String mathFencedOpenString() const override;
String mathFencedCloseString() const override;
int mathLineThickness() const override;
bool isAnonymousMathOperator() const override;
void mathPrescripts(AccessibilityMathMultiscriptPairs&) override;
void mathPostscripts(AccessibilityMathMultiscriptPairs&) override;
bool m_isAnonymousOperator;
};
}
SPECIALIZE_TYPE_TRAITS_ACCESSIBILITY(AccessibilityMathMLElement, isMathElement())
#endif // ENABLE(MATHML)