/* * Copyright (c) 2023, Jonah Shafran * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include namespace Web::ARIA { enum class StateAndProperties { AriaActiveDescendant, AriaAtomic, AriaAutoComplete, AriaBrailleLabel, AriaBrailleRoleDescription, AriaBusy, AriaChecked, AriaColCount, AriaColIndex, AriaColIndexText, AriaColSpan, AriaControls, AriaCurrent, AriaDescribedBy, AriaDescription, AriaDetails, AriaDisabled, AriaDropEffect, AriaErrorMessage, AriaExpanded, AriaFlowTo, AriaGrabbed, AriaHasPopup, AriaHidden, AriaInvalid, AriaKeyShortcuts, AriaLabel, AriaLabelledBy, AriaLevel, AriaLive, AriaModal, AriaMultiLine, AriaMultiSelectable, AriaOrientation, AriaOwns, AriaPlaceholder, AriaPosInSet, AriaPressed, AriaReadOnly, AriaRelevant, AriaRequired, AriaRoleDescription, AriaRowCount, AriaRowIndex, AriaRowIndexText, AriaRowSpan, AriaSelected, AriaSetSize, AriaSort, AriaValueMax, AriaValueMin, AriaValueNow, AriaValueText }; using DefaultValueType = Variant; ErrorOr state_or_property_to_string_value(StateAndProperties, AriaData const&, DefaultValueType = {}); ErrorOr tristate_to_string(Tristate); ErrorOr optional_integer_to_string(Optional); ErrorOr optional_bool_to_string(Optional); ErrorOr optional_number_to_string(Optional); ErrorOr id_reference_list_to_string(Vector const&); StringView state_or_property_to_string(StateAndProperties); }