Explorar el Código

LibWeb: Complete support for all ARIA properties in current spec

This change completes handling for all ARIA properties defined in the
current ARIA spec — by adding handling for the following properties:

- aria-braillelabel
- aria-brailleroledescription
- aria-colindextext
- aria-description
- aria-rowindextext
sideshowbarker hace 9 meses
padre
commit
ede6924db8

+ 10 - 0
Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateAriaRoles.cpp

@@ -139,6 +139,10 @@ StringView aria_name_to_enum_name(StringView name)
         return "AriaAtomic"sv;
     } else if (name == "aria-autocomplete"sv) {
         return "AriaAutoComplete"sv;
+    } else if (name == "aria-braillelabel"sv) {
+        return "AriaBrailleLabel"sv;
+    } else if (name == "aria-brailleroledescription"sv) {
+        return "AriaBrailleRoleDescription"sv;
     } else if (name == "aria-busy"sv) {
         return "AriaBusy"sv;
     } else if (name == "aria-checked"sv) {
@@ -147,6 +151,8 @@ StringView aria_name_to_enum_name(StringView name)
         return "AriaColCount"sv;
     } else if (name == "aria-colindex"sv) {
         return "AriaColIndex"sv;
+    } else if (name == "aria-colindextext"sv) {
+        return "AriaColIndexText"sv;
     } else if (name == "aria-colspan"sv) {
         return "AriaColSpan"sv;
     } else if (name == "aria-controls"sv) {
@@ -155,6 +161,8 @@ StringView aria_name_to_enum_name(StringView name)
         return "AriaCurrent"sv;
     } else if (name == "aria-describedby"sv) {
         return "AriaDescribedBy"sv;
+    } else if (name == "aria-description"sv) {
+        return "AriaDescription"sv;
     } else if (name == "aria-details"sv) {
         return "AriaDetails"sv;
     } else if (name == "aria-disabled"sv) {
@@ -213,6 +221,8 @@ StringView aria_name_to_enum_name(StringView name)
         return "AriaRowCount"sv;
     } else if (name == "aria-rowindex"sv) {
         return "AriaRowIndex"sv;
+    } else if (name == "aria-rowindextext"sv) {
+        return "AriaRowIndexText"sv;
     } else if (name == "aria-rowspan"sv) {
         return "AriaRowSpan"sv;
     } else if (name == "aria-selected"sv) {

+ 15 - 25
Tests/LibWeb/Text/expected/aria-attribute-reflection.txt

@@ -15,19 +15,15 @@ Testing: aria-autocomplete attribute reflects.
     ✅ PASS: null is equal to null as expected.
     ✅ PASS: null is equal to null as expected.
 Testing: aria-braillelabel attribute reflects.
-    ❌ FAIL: undefined is not equal to x.
-    ❌ FAIL: x is not equal to y.
+    ✅ PASS: x is equal to x as expected.
+    ✅ PASS: y is equal to y as expected.
+    ✅ PASS: null is equal to null as expected.
     ✅ PASS: null is equal to null as expected.
-    ❌ FAIL: Expected false but got true.
-    ✅ PASS: undefined is equal to null as expected.
-    ❌ FAIL: Expected false but got true.
 Testing: aria-brailleroledescription attribute reflects.
-    ❌ FAIL: undefined is not equal to x.
-    ❌ FAIL: x is not equal to y.
+    ✅ PASS: x is equal to x as expected.
+    ✅ PASS: y is equal to y as expected.
+    ✅ PASS: null is equal to null as expected.
     ✅ PASS: null is equal to null as expected.
-    ❌ FAIL: Expected false but got true.
-    ✅ PASS: undefined is equal to null as expected.
-    ❌ FAIL: Expected false but got true.
 Testing: aria-busy attribute reflects.
     ✅ PASS: true is equal to true as expected.
     ✅ PASS: false is equal to false as expected.
@@ -49,12 +45,10 @@ Testing: aria-colindex attribute reflects.
     ✅ PASS: null is equal to null as expected.
     ✅ PASS: null is equal to null as expected.
 Testing: aria-colindextext attribute reflects.
-    ❌ FAIL: undefined is not equal to x.
-    ❌ FAIL: x is not equal to y.
+    ✅ PASS: x is equal to x as expected.
+    ✅ PASS: y is equal to y as expected.
+    ✅ PASS: null is equal to null as expected.
     ✅ PASS: null is equal to null as expected.
-    ❌ FAIL: Expected false but got true.
-    ✅ PASS: undefined is equal to null as expected.
-    ❌ FAIL: Expected false but got true.
 Testing: aria-colspan attribute reflects.
     ✅ PASS: 2 is equal to 2 as expected.
     ✅ PASS: 3 is equal to 3 as expected.
@@ -66,12 +60,10 @@ Testing: aria-current attribute reflects.
     ✅ PASS: null is equal to null as expected.
     ✅ PASS: null is equal to null as expected.
 Testing: aria-description attribute reflects.
-    ❌ FAIL: undefined is not equal to cold as ice.
-    ❌ FAIL: cold as ice is not equal to hot as fire.
+    ✅ PASS: cold as ice is equal to cold as ice as expected.
+    ✅ PASS: hot as fire is equal to hot as fire as expected.
+    ✅ PASS: null is equal to null as expected.
     ✅ PASS: null is equal to null as expected.
-    ❌ FAIL: Expected false but got true.
-    ✅ PASS: undefined is equal to null as expected.
-    ❌ FAIL: Expected false but got true.
 Testing: aria-disabled attribute reflects.
     ✅ PASS: true is equal to true as expected.
     ✅ PASS: false is equal to false as expected.
@@ -183,12 +175,10 @@ Testing: aria-rowindex attribute reflects.
     ✅ PASS: null is equal to null as expected.
     ✅ PASS: null is equal to null as expected.
 Testing: aria-rowindextext attribute reflects.
-    ❌ FAIL: undefined is not equal to x.
-    ❌ FAIL: x is not equal to y.
+    ✅ PASS: x is equal to x as expected.
+    ✅ PASS: y is equal to y as expected.
+    ✅ PASS: null is equal to null as expected.
     ✅ PASS: null is equal to null as expected.
-    ❌ FAIL: Expected false but got true.
-    ✅ PASS: undefined is equal to null as expected.
-    ❌ FAIL: Expected false but got true.
 Testing: aria-rowspan attribute reflects.
     ✅ PASS: 2 is equal to 2 as expected.
     ✅ PASS: 3 is equal to 3 as expected.

+ 3 - 0
Userland/Libraries/LibWeb/ARIA/ARIAMixin.cpp

@@ -42,10 +42,13 @@ Optional<Role> ARIAMixin::role_or_default() const
 bool ARIAMixin::has_global_aria_attribute() const
 {
     return aria_atomic().has_value()
+        || aria_braille_label().has_value()
+        || aria_braille_role_description().has_value()
         || aria_busy().has_value()
         || aria_controls().has_value()
         || aria_current().has_value()
         || aria_described_by().has_value()
+        || aria_description().has_value()
         || aria_details().has_value()
         || aria_disabled().has_value()
         || aria_drop_effect().has_value()

+ 15 - 0
Userland/Libraries/LibWeb/ARIA/ARIAMixin.h

@@ -31,6 +31,12 @@ public:
     virtual Optional<String> aria_auto_complete() const = 0;
     virtual WebIDL::ExceptionOr<void> set_aria_auto_complete(Optional<String> const&) = 0;
 
+    virtual Optional<String> aria_braille_label() const = 0;
+    virtual WebIDL::ExceptionOr<void> set_aria_braille_label(Optional<String> const&) = 0;
+
+    virtual Optional<String> aria_braille_role_description() const = 0;
+    virtual WebIDL::ExceptionOr<void> set_aria_braille_role_description(Optional<String> const&) = 0;
+
     virtual Optional<String> aria_busy() const = 0;
     virtual WebIDL::ExceptionOr<void> set_aria_busy(Optional<String> const&) = 0;
 
@@ -43,6 +49,9 @@ public:
     virtual Optional<String> aria_col_index() const = 0;
     virtual WebIDL::ExceptionOr<void> set_aria_col_index(Optional<String> const&) = 0;
 
+    virtual Optional<String> aria_col_index_text() const = 0;
+    virtual WebIDL::ExceptionOr<void> set_aria_col_index_text(Optional<String> const&) = 0;
+
     virtual Optional<String> aria_col_span() const = 0;
     virtual WebIDL::ExceptionOr<void> set_aria_col_span(Optional<String> const&) = 0;
 
@@ -55,6 +64,9 @@ public:
     virtual Optional<String> aria_described_by() const = 0;
     virtual WebIDL::ExceptionOr<void> set_aria_described_by(Optional<String> const&) = 0;
 
+    virtual Optional<String> aria_description() const = 0;
+    virtual WebIDL::ExceptionOr<void> set_aria_description(Optional<String> const&) = 0;
+
     virtual Optional<String> aria_details() const = 0;
     virtual WebIDL::ExceptionOr<void> set_aria_details(Optional<String> const&) = 0;
 
@@ -142,6 +154,9 @@ public:
     virtual Optional<String> aria_row_index() const = 0;
     virtual WebIDL::ExceptionOr<void> set_aria_row_index(Optional<String> const&) = 0;
 
+    virtual Optional<String> aria_row_index_text() const = 0;
+    virtual WebIDL::ExceptionOr<void> set_aria_row_index_text(Optional<String> const&) = 0;
+
     virtual Optional<String> aria_row_span() const = 0;
     virtual WebIDL::ExceptionOr<void> set_aria_row_span(Optional<String> const&) = 0;
 

+ 5 - 0
Userland/Libraries/LibWeb/ARIA/ARIAMixin.idl

@@ -3,12 +3,16 @@ interface mixin ARIAMixin {
     [CEReactions] attribute DOMString? role;
     [CEReactions] attribute DOMString? ariaAtomic;
     [CEReactions] attribute DOMString? ariaAutoComplete;
+    [CEReactions] attribute DOMString? ariaBrailleLabel;
+    [CEReactions] attribute DOMString? ariaBrailleRoleDescription;
     [CEReactions] attribute DOMString? ariaBusy;
     [CEReactions] attribute DOMString? ariaChecked;
     [CEReactions] attribute DOMString? ariaColCount;
     [CEReactions] attribute DOMString? ariaColIndex;
+    [CEReactions] attribute DOMString? ariaColIndexText;
     [CEReactions] attribute DOMString? ariaColSpan;
     [CEReactions] attribute DOMString? ariaCurrent;
+    [CEReactions] attribute DOMString? ariaDescription;
     [CEReactions] attribute DOMString? ariaDisabled;
     [CEReactions] attribute DOMString? ariaExpanded;
     [CEReactions] attribute DOMString? ariaHasPopup;
@@ -31,6 +35,7 @@ interface mixin ARIAMixin {
     [CEReactions] attribute DOMString? ariaRoleDescription;
     [CEReactions] attribute DOMString? ariaRowCount;
     [CEReactions] attribute DOMString? ariaRowIndex;
+    [CEReactions] attribute DOMString? ariaRowIndexText;
     [CEReactions] attribute DOMString? ariaRowSpan;
     [CEReactions] attribute DOMString? ariaSelected;
     [CEReactions] attribute DOMString? ariaSetSize;

+ 30 - 0
Userland/Libraries/LibWeb/ARIA/AriaData.cpp

@@ -15,14 +15,18 @@ AriaData::AriaData(Web::ARIA::ARIAMixin const& source)
     m_aria_active_descendant = source.aria_active_descendant();
     m_aria_atomic = AriaData::parse_optional_true_false(source.aria_atomic());
     m_aria_auto_complete = AriaData::parse_aria_autocomplete(source.aria_auto_complete());
+    m_aria_braille_label = source.aria_braille_label().value_or(String {});
+    m_aria_braille_role_description = source.aria_braille_role_description().value_or(String {});
     m_aria_busy = AriaData::parse_true_false(source.aria_busy());
     m_aria_checked = AriaData::parse_tristate(source.aria_checked());
     m_aria_col_count = AriaData::parse_integer(source.aria_col_count());
     m_aria_col_index = AriaData::parse_integer(source.aria_col_index());
+    m_aria_col_index_text = source.aria_col_index_text().value_or(String {});
     m_aria_col_span = AriaData::parse_integer(source.aria_col_span());
     m_aria_controls = source.parse_id_reference_list(source.aria_controls());
     m_aria_current = AriaData::parse_aria_current(source.aria_current());
     m_aria_described_by = source.parse_id_reference_list(source.aria_described_by());
+    m_aria_description = source.aria_description().value_or(String {});
     m_aria_details = source.parse_id_reference(source.aria_details());
     m_aria_disabled = AriaData::parse_true_false(source.aria_disabled());
     m_aria_drop_effect = AriaData::parse_aria_drop_effect(source.aria_drop_effect());
@@ -52,6 +56,7 @@ AriaData::AriaData(Web::ARIA::ARIAMixin const& source)
     m_aria_role_description = source.aria_role_description().value_or(String {});
     m_aria_row_count = AriaData::parse_integer(source.aria_row_count());
     m_aria_row_index = AriaData::parse_integer(source.aria_row_index());
+    m_aria_row_index_text = source.aria_row_index_text().value_or(String {});
     m_aria_row_span = AriaData::parse_integer(source.aria_row_span());
     m_aria_selected = AriaData::parse_true_false_undefined(source.aria_selected());
     m_aria_set_size = AriaData::parse_integer(source.aria_set_size());
@@ -127,6 +132,16 @@ AriaAutocomplete AriaData::aria_auto_complete_or_default() const
     return m_aria_auto_complete;
 }
 
+String AriaData::aria_braille_label_or_default() const
+{
+    return m_aria_braille_label;
+}
+
+String AriaData::aria_braille_role_description_or_default() const
+{
+    return m_aria_braille_role_description;
+}
+
 bool AriaData::aria_busy_or_default() const
 {
     return m_aria_busy;
@@ -147,6 +162,11 @@ Optional<i32> AriaData::aria_col_index_or_default() const
     return m_aria_col_index;
 }
 
+String AriaData::aria_col_index_text_or_default() const
+{
+    return m_aria_col_index_text;
+}
+
 Optional<i32> AriaData::aria_col_span_or_default() const
 {
     return m_aria_col_span;
@@ -167,6 +187,11 @@ Vector<String> AriaData::aria_described_by_or_default() const
     return m_aria_described_by;
 }
 
+String AriaData::aria_description_or_default() const
+{
+    return m_aria_description;
+}
+
 Optional<String> AriaData::aria_details_or_default() const
 {
     return m_aria_details;
@@ -320,6 +345,11 @@ Optional<i32> AriaData::aria_row_index_or_default() const
     return m_aria_row_index;
 }
 
+String AriaData::aria_row_index_text_or_default() const
+{
+    return m_aria_row_index_text;
+}
+
 Optional<i32> AriaData::aria_row_span_or_default() const
 {
     return m_aria_row_span;

+ 10 - 0
Userland/Libraries/LibWeb/ARIA/AriaData.h

@@ -154,14 +154,18 @@ public:
     Optional<String> aria_active_descendant_or_default() const;
     bool aria_atomic_or_default(bool default_value = false) const;
     AriaAutocomplete aria_auto_complete_or_default() const;
+    String aria_braille_label_or_default() const;
+    String aria_braille_role_description_or_default() const;
     bool aria_busy_or_default() const;
     Tristate aria_checked_or_default() const;
     Optional<i32> aria_col_count_or_default() const;
     Optional<i32> aria_col_index_or_default() const;
+    String aria_col_index_text_or_default() const;
     Optional<i32> aria_col_span_or_default() const;
     Vector<String> aria_controls_or_default() const;
     AriaCurrent aria_current_or_default() const;
     Vector<String> aria_described_by_or_default() const;
+    String aria_description_or_default() const;
     Optional<String> aria_details_or_default() const;
     bool aria_disabled_or_default() const;
     Vector<AriaDropEffect> aria_drop_effect_or_default() const;
@@ -191,6 +195,7 @@ public:
     String aria_role_description_or_default() const;
     Optional<i32> aria_row_count_or_default() const;
     Optional<i32> aria_row_index_or_default() const;
+    String aria_row_index_text_or_default() const;
     Optional<i32> aria_row_span_or_default() const;
     Optional<bool> aria_selected_or_default() const;
     Optional<i32> aria_set_size_or_default() const;
@@ -235,14 +240,18 @@ private:
     Optional<String> m_aria_active_descendant;
     Optional<bool> m_aria_atomic;
     AriaAutocomplete m_aria_auto_complete;
+    String m_aria_braille_label;
+    String m_aria_braille_role_description;
     bool m_aria_busy;
     Tristate m_aria_checked;
     Optional<i32> m_aria_col_count;
     Optional<i32> m_aria_col_index;
+    String m_aria_col_index_text;
     Optional<i32> m_aria_col_span;
     Vector<String> m_aria_controls;
     AriaCurrent m_aria_current;
     Vector<String> m_aria_described_by;
+    String m_aria_description;
     Optional<String> m_aria_details;
     bool m_aria_disabled;
     Vector<AriaDropEffect> m_aria_drop_effect;
@@ -272,6 +281,7 @@ private:
     String m_aria_role_description;
     Optional<i32> m_aria_row_count;
     Optional<i32> m_aria_row_index;
+    String m_aria_row_index_text;
     Optional<i32> m_aria_row_span;
     Optional<bool> m_aria_selected;
     Optional<i32> m_aria_set_size;

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 236 - 0
Userland/Libraries/LibWeb/ARIA/AriaRoles.json


+ 5 - 0
Userland/Libraries/LibWeb/ARIA/RoleType.cpp

@@ -15,6 +15,7 @@ RoleType::RoleType(AriaData const& data)
 {
 }
 
+// https://w3c.github.io/aria/#global_states
 constexpr StateAndProperties supported_state_array[] = {
     StateAndProperties::AriaBusy,
     StateAndProperties::AriaCurrent,
@@ -23,10 +24,14 @@ constexpr StateAndProperties supported_state_array[] = {
     StateAndProperties::AriaHidden,
     StateAndProperties::AriaInvalid
 };
+// https://w3c.github.io/aria/#global_states
 constexpr StateAndProperties supported_properties_array[] = {
     StateAndProperties::AriaAtomic,
+    StateAndProperties::AriaBrailleLabel,
+    StateAndProperties::AriaBrailleRoleDescription,
     StateAndProperties::AriaControls,
     StateAndProperties::AriaDescribedBy,
+    StateAndProperties::AriaDescription,
     StateAndProperties::AriaDetails,
     StateAndProperties::AriaDropEffect,
     StateAndProperties::AriaFlowTo,

+ 20 - 0
Userland/Libraries/LibWeb/ARIA/StateAndProperties.cpp

@@ -37,6 +37,10 @@ ErrorOr<String> state_or_property_to_string_value(StateAndProperties state_or_pr
         }
         VERIFY_NOT_REACHED();
     }
+    case StateAndProperties::AriaBrailleLabel:
+        return aria_data.aria_braille_label_or_default();
+    case StateAndProperties::AriaBrailleRoleDescription:
+        return aria_data.aria_braille_role_description_or_default();
     case StateAndProperties::AriaBusy:
         return String::from_utf8(aria_data.aria_busy_or_default() ? "true"sv : "false"sv);
     case StateAndProperties::AriaChecked:
@@ -45,6 +49,8 @@ ErrorOr<String> state_or_property_to_string_value(StateAndProperties state_or_pr
         return ARIA::optional_integer_to_string(aria_data.aria_col_count_or_default());
     case StateAndProperties::AriaColIndex:
         return ARIA::optional_integer_to_string(aria_data.aria_col_index_or_default());
+    case StateAndProperties::AriaColIndexText:
+        return aria_data.aria_col_index_text_or_default();
     case StateAndProperties::AriaColSpan:
         return ARIA::optional_integer_to_string(aria_data.aria_col_span_or_default());
     case StateAndProperties::AriaControls:
@@ -71,6 +77,8 @@ ErrorOr<String> state_or_property_to_string_value(StateAndProperties state_or_pr
     }
     case StateAndProperties::AriaDescribedBy:
         return id_reference_list_to_string(aria_data.aria_described_by_or_default());
+    case StateAndProperties::AriaDescription:
+        return aria_data.aria_description_or_default();
     case StateAndProperties::AriaDetails: {
         return aria_data.aria_details_or_default().value_or(String {});
     }
@@ -252,6 +260,8 @@ ErrorOr<String> state_or_property_to_string_value(StateAndProperties state_or_pr
         return ARIA::optional_integer_to_string(aria_data.aria_row_count_or_default());
     case StateAndProperties::AriaRowIndex:
         return ARIA::optional_integer_to_string(aria_data.aria_row_index_or_default());
+    case StateAndProperties::AriaRowIndexText:
+        return aria_data.aria_row_index_text_or_default();
     case StateAndProperties::AriaRowSpan:
         return ARIA::optional_integer_to_string(aria_data.aria_row_span_or_default());
     case StateAndProperties::AriaSelected:
@@ -351,6 +361,10 @@ StringView state_or_property_to_string(StateAndProperties value)
         return "aria-atomic"sv;
     case StateAndProperties::AriaAutoComplete:
         return "aria-autocomplete"sv;
+    case StateAndProperties::AriaBrailleLabel:
+        return "aria-braillelabel"sv;
+    case StateAndProperties::AriaBrailleRoleDescription:
+        return "aria-brailleroledescription"sv;
     case StateAndProperties::AriaBusy:
         return "aria-busy"sv;
     case StateAndProperties::AriaChecked:
@@ -359,6 +373,8 @@ StringView state_or_property_to_string(StateAndProperties value)
         return "aria-colcount"sv;
     case StateAndProperties::AriaColIndex:
         return "aria-colindex"sv;
+    case StateAndProperties::AriaColIndexText:
+        return "aria-colindextext"sv;
     case StateAndProperties::AriaColSpan:
         return "aria-colspan"sv;
     case StateAndProperties::AriaControls:
@@ -367,6 +383,8 @@ StringView state_or_property_to_string(StateAndProperties value)
         return "aria-current"sv;
     case StateAndProperties::AriaDescribedBy:
         return "aria-describedby"sv;
+    case StateAndProperties::AriaDescription:
+        return "aria-description"sv;
     case StateAndProperties::AriaDetails:
         return "aria-details"sv;
     case StateAndProperties::AriaDisabled:
@@ -425,6 +443,8 @@ StringView state_or_property_to_string(StateAndProperties value)
         return "aria-rowcount"sv;
     case StateAndProperties::AriaRowIndex:
         return "aria-rowindex"sv;
+    case StateAndProperties::AriaRowIndexText:
+        return "aria-rowindextext"sv;
     case StateAndProperties::AriaRowSpan:
         return "aria-rowspan"sv;
     case StateAndProperties::AriaSelected:

+ 5 - 0
Userland/Libraries/LibWeb/ARIA/StateAndProperties.h

@@ -16,14 +16,18 @@ enum class StateAndProperties {
     AriaActiveDescendant,
     AriaAtomic,
     AriaAutoComplete,
+    AriaBrailleLabel,
+    AriaBrailleRoleDescription,
     AriaBusy,
     AriaChecked,
     AriaColCount,
     AriaColIndex,
+    AriaColIndexText,
     AriaColSpan,
     AriaControls,
     AriaCurrent,
     AriaDescribedBy,
+    AriaDescription,
     AriaDetails,
     AriaDisabled,
     AriaDropEffect,
@@ -53,6 +57,7 @@ enum class StateAndProperties {
     AriaRoleDescription,
     AriaRowCount,
     AriaRowIndex,
+    AriaRowIndexText,
     AriaRowSpan,
     AriaSelected,
     AriaSetSize,

+ 5 - 0
Userland/Libraries/LibWeb/DOM/Element.h

@@ -291,14 +291,18 @@ public:
     ARIA_IMPL(aria_active_descendant, "aria-activedescendant"_fly_string);
     ARIA_IMPL(aria_atomic, "aria-atomic"_fly_string);
     ARIA_IMPL(aria_auto_complete, "aria-autocomplete"_fly_string);
+    ARIA_IMPL(aria_braille_label, "aria-braillelabel"_fly_string);
+    ARIA_IMPL(aria_braille_role_description, "aria-brailleroledescription"_fly_string);
     ARIA_IMPL(aria_busy, "aria-busy"_fly_string);
     ARIA_IMPL(aria_checked, "aria-checked"_fly_string);
     ARIA_IMPL(aria_col_count, "aria-colcount"_fly_string);
     ARIA_IMPL(aria_col_index, "aria-colindex"_fly_string);
+    ARIA_IMPL(aria_col_index_text, "aria-colindextext"_fly_string);
     ARIA_IMPL(aria_col_span, "aria-colspan"_fly_string);
     ARIA_IMPL(aria_controls, "aria-controls"_fly_string);
     ARIA_IMPL(aria_current, "aria-current"_fly_string);
     ARIA_IMPL(aria_described_by, "aria-describedby"_fly_string);
+    ARIA_IMPL(aria_description, "aria-description"_fly_string);
     ARIA_IMPL(aria_details, "aria-details"_fly_string);
     ARIA_IMPL(aria_drop_effect, "aria-dropeffect"_fly_string);
     ARIA_IMPL(aria_error_message, "aria-errormessage"_fly_string);
@@ -328,6 +332,7 @@ public:
     ARIA_IMPL(aria_role_description, "aria-roledescription"_fly_string);
     ARIA_IMPL(aria_row_count, "aria-rowcount"_fly_string);
     ARIA_IMPL(aria_row_index, "aria-rowindex"_fly_string);
+    ARIA_IMPL(aria_row_index_text, "aria-rowindextext"_fly_string);
     ARIA_IMPL(aria_row_span, "aria-rowspan"_fly_string);
     ARIA_IMPL(aria_selected, "aria-selected"_fly_string);
     ARIA_IMPL(aria_set_size, "aria-setsize"_fly_string);

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio