StateAndProperties.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. /*
  2. * Copyright (c) 2023, Jonah Shafran <jonahshafran@gmail.com>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. #include <AK/String.h>
  8. #include <LibWeb/ARIA/ARIAMixin.h>
  9. #include <LibWeb/ARIA/RoleType.h>
  10. namespace Web::ARIA {
  11. enum class StateAndProperties {
  12. AriaActiveDescendant,
  13. AriaAtomic,
  14. AriaAutoComplete,
  15. AriaBusy,
  16. AriaChecked,
  17. AriaColCount,
  18. AriaColIndex,
  19. AriaColSpan,
  20. AriaControls,
  21. AriaCurrent,
  22. AriaDescribedBy,
  23. AriaDetails,
  24. AriaDisabled,
  25. AriaDropEffect,
  26. AriaErrorMessage,
  27. AriaExpanded,
  28. AriaFlowTo,
  29. AriaGrabbed,
  30. AriaHasPopup,
  31. AriaHidden,
  32. AriaInvalid,
  33. AriaKeyShortcuts,
  34. AriaLabel,
  35. AriaLabelledBy,
  36. AriaLevel,
  37. AriaLive,
  38. AriaModal,
  39. AriaMultiLine,
  40. AriaMultiSelectable,
  41. AriaOrientation,
  42. AriaOwns,
  43. AriaPlaceholder,
  44. AriaPosInSet,
  45. AriaPressed,
  46. AriaReadOnly,
  47. AriaRelevant,
  48. AriaRequired,
  49. AriaRoleDescription,
  50. AriaRowCount,
  51. AriaRowIndex,
  52. AriaRowSpan,
  53. AriaSelected,
  54. AriaSetSize,
  55. AriaSort,
  56. AriaValueMax,
  57. AriaValueMin,
  58. AriaValueNow,
  59. AriaValueText
  60. };
  61. using DefaultValueType = Variant<Empty, f64, AriaOrientation, AriaLive, bool, AriaHasPopup>;
  62. ErrorOr<String> state_or_property_to_string_value(StateAndProperties, AriaData const&, DefaultValueType = {});
  63. ErrorOr<String> tristate_to_string(Tristate);
  64. ErrorOr<String> optional_integer_to_string(Optional<i32>);
  65. ErrorOr<String> optional_bool_to_string(Optional<bool>);
  66. ErrorOr<String> optional_number_to_string(Optional<f64>);
  67. ErrorOr<String> id_reference_list_to_string(Vector<String> const&);
  68. StringView state_or_property_to_string(StateAndProperties);
  69. }