AccessibilitySlider.h [plain text]
#pragma once
#include "AccessibilityMockObject.h"
#include "AccessibilityRenderObject.h"
namespace WebCore {
class HTMLInputElement;
class AccessibilitySlider : public AccessibilityRenderObject {
public:
static Ref<AccessibilitySlider> create(RenderObject*);
virtual ~AccessibilitySlider() = default;
protected:
explicit AccessibilitySlider(RenderObject*);
private:
HTMLInputElement* inputElement() const;
AccessibilityObject* elementAccessibilityHitTest(const IntPoint&) const override;
AccessibilityRole roleValue() const override { return AccessibilityRole::Slider; }
bool isSlider() const final { return true; }
bool isInputSlider() const override { return true; }
bool isControl() const override { return true; }
void addChildren() override;
bool canSetValueAttribute() const override { return true; }
const AtomicString& getAttribute(const QualifiedName& attribute) const;
void setValue(const String&) override;
float valueForRange() const override;
float maxValueForRange() const override;
float minValueForRange() const override;
AccessibilityOrientation orientation() const override;
};
class AccessibilitySliderThumb final : public AccessibilityMockObject {
public:
static Ref<AccessibilitySliderThumb> create();
virtual ~AccessibilitySliderThumb() = default;
AccessibilityRole roleValue() const override { return AccessibilityRole::SliderThumb; }
LayoutRect elementRect() const override;
private:
AccessibilitySliderThumb();
bool isSliderThumb() const override { return true; }
bool computeAccessibilityIsIgnored() const override;
};
}
SPECIALIZE_TYPE_TRAITS_ACCESSIBILITY(AccessibilitySliderThumb, isSliderThumb())