chromium/third_party/blink/renderer/core/aom/accessible_node.h

// Copyright 2017 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_AOM_ACCESSIBLE_NODE_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_AOM_ACCESSIBLE_NODE_H_

#include <optional>

#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/dom/element_rare_data_field.h"
#include "third_party/blink/renderer/core/dom/events/event_target.h"
#include "third_party/blink/renderer/core/dom/qualified_name.h"
#include "third_party/blink/renderer/platform/bindings/script_wrappable.h"
#include "third_party/blink/renderer/platform/wtf/text/atomic_string.h"
#include "third_party/blink/renderer/platform/wtf/text/atomic_string_hash.h"

namespace blink {

class AccessibleNodeList;
class AXObjectCache;
class Document;
class Element;
class QualifiedName;

// All of the properties of AccessibleNode that have type "string".
enum class AOMStringProperty {};

// All of the properties of AccessibleNode that have type "boolean".
enum class AOMBooleanProperty {};

// All of the properties of AccessibleNode that have an unsigned integer type.
enum class AOMUIntProperty {};

enum class AOMRelationProperty {};

enum class AOMRelationListProperty {};

// All of the properties of AccessibleNode that have a signed integer type.
// (These all allow the value -1.)
enum class AOMIntProperty {};

// All of the properties of AccessibleNode that have a floating-point type.
enum class AOMFloatProperty {};

class AccessibleNode;

class CORE_EXPORT AOMPropertyClient {};

// Accessibility Object Model node
// Explainer: https://github.com/WICG/aom/blob/gh-pages/explainer.md
// Spec: https://wicg.github.io/aom/spec/
class CORE_EXPORT AccessibleNode : public EventTarget,
                                   public ElementRareDataField {};

}  // namespace blink

#endif  // THIRD_PARTY_BLINK_RENDERER_CORE_AOM_ACCESSIBLE_NODE_H_