From bf49892214eec132f852df6ec1629cce52f6445b Mon Sep 17 00:00:00 2001 From: Mattes Mohr Date: Sun, 15 Feb 2026 15:07:02 +0100 Subject: [PATCH 01/12] Revise the sort attribute --- .../Attributes/AriaAttributes.swift | 27 +++++++++++++------ Tests/HTMLKitTests/AttributesTests.swift | 19 ++++++++++++- 2 files changed, 37 insertions(+), 9 deletions(-) diff --git a/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift b/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift index d177284f..8a54d633 100644 --- a/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift +++ b/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift @@ -1068,26 +1068,37 @@ extension AriaSetSizeAttribute where Self: EmptyNode { } } -/// The protocol provides the element with accessibility handler. +/// A type that provides the `accessibilitySort` modifier. @_documentation(visibility: internal) -public protocol AriaSortAttribute: Attribute { +public protocol SortAccessibilityAttribute: Attribute { - /// The function represents the html-attribute 'aria-sort'. + /// Indicate the direction of a sort order. /// - /// ```html - /// + /// ```swift + /// Table { + /// TableRow { + /// HeaderCell { + /// "Lorem ipsum" + /// } + /// .accessibilitySort(.ascending) + /// } + /// } /// ``` - func aria(sort value: Values.Accessibility.Sort) -> Self + /// + /// - Parameter value: The direction it is sort. + /// + /// - Returns: The element + func accessibilitySort(_ value: Values.Accessibility.Sort) -> Self } -extension AriaSortAttribute where Self: ContentNode { +extension SortAccessibilityAttribute where Self: ContentNode { internal func mutate(ariasort value: AttributeData) -> Self { return self.mutate(key: "aria-sort", value: value) } } -extension AriaSortAttribute where Self: EmptyNode { +extension SortAccessibilityAttribute where Self: EmptyNode { internal func mutate(ariasort value: AttributeData) -> Self { return self.mutate(key: "aria-sort", value: value) diff --git a/Tests/HTMLKitTests/AttributesTests.swift b/Tests/HTMLKitTests/AttributesTests.swift index 0869b63d..554288c4 100644 --- a/Tests/HTMLKitTests/AttributesTests.swift +++ b/Tests/HTMLKitTests/AttributesTests.swift @@ -15,7 +15,7 @@ final class AttributesTests: XCTestCase { @ContentBuilder var body: Content } - typealias AllAttributes = AccessKeyAttribute & AcceptAttribute & ActionAttribute & AlternateAttribute & AsynchronouslyAttribute & AutocapitalizeAttribute & AutocompleteAttribute & AutofocusAttribute & AutoplayAttribute & CharsetAttribute & CheckedAttribute & CiteAttribute & ClassAttribute & ColumnsAttribute & ColumnSpanAttribute & ContentAttribute & EditAttribute & ControlsAttribute & CoordinatesAttribute & DataAttribute & DateTimeAttribute & DefaultAttribute & DeferAttribute & DirectionAttribute & DisabledAttribute & DownloadAttribute & DragAttribute & EncodingAttribute & EnterKeyAttribute & ForAttribute & FormAttribute & FormActionAttribute & EquivalentAttribute & HeadersAttribute & HeightAttribute & HiddenAttribute & HighAttribute & ReferenceAttribute & ReferenceLanguageAttribute & IdentifierAttribute & IsMapAttribute & InputModeAttribute & IsAttribute & ItemAttribute & ItemPropertyAttribute & KindAttribute & LabelAttribute & LanguageAttribute & ListAttribute & LoopAttribute & LowAttribute & MaximumValueAttribute & MaximumLengthAttribute & MediaAttribute & MethodAttribute & MinimumValueAttribute & MinimumLengthAttribute & MultipleAttribute & MutedAttribute & NameAttribute & NonceAttribute & NoValidateAttribute & OpenAttribute & OptimumAttribute & PatternAttribute & PartAttribute & PingAttribute & PlaceholderAttribute & PosterAttribute & PreloadAttribute & ReadOnlyAttribute & ReferrerPolicyAttribute & RelationshipAttribute & RequiredAttribute & ReversedAttribute & RoleAttribute & RowsAttribute & RowSpanAttribute & SandboxAttribute & ScopeAttribute & ShapeAttribute & SizeAttribute & SizesAttribute & SlotAttribute & SpanAttribute & SpellCheckAttribute & SourceAttribute & StartAttribute & StepAttribute & StyleAttribute & TabulatorAttribute & TargetAttribute & TitleAttribute & TranslateAttribute & TypeAttribute & ValueAttribute & WidthAttribute & WrapAttribute & PropertyAttribute & SelectedAttribute & WindowEventAttribute & FocusEventAttribute & PointerEventAttribute & MouseEventAttribute & WheelEventAttribute & InputEventAttribute & KeyboardEventAttribute & DragEventAttribute & ClipboardEventAttribute & SelectionEventAttribute & MediaEventAttribute & FormEventAttribute & DetailEventAttribute & AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & AriaDisabledAttribute & AriaErrorMessageAttribute & AriaFlowToAttribute & AriaPopupAttribute & AriaHiddenAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & AriaLabelAttribute & AriaLabeledAttribute & AriaLiveAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute & DrawAttribute & FillAttribute & FillOpacityAttribute & StrokeAttribute & StrokeWidthAttribute & StrokeOpacityAttribute & StrokeLineCapAttribute & StrokeLineJoinAttribute & RadiusAttribute & PositionPointAttribute & RadiusPointAttribute & CenterPointAttribute & ViewBoxAttribute & NamespaceAttribute & PointsAttribute & ShadowRootModeAttribute & InertAttribute & FetchPriorityAttribute & LoadingAttribute & SourceSetAttribute & DecodingAttribute & BlockingAttribute & PopoverAttribute & PopoverTargetAttribute & PopoverActionAttribute & UseMapAttribute & PlaysInlineAttribute & IntegrityAttribute & AsAttribute & CrossOriginAttribute & SourceLanguageAttribute & SourceDocumentAttribute + typealias AllAttributes = AccessKeyAttribute & AcceptAttribute & ActionAttribute & AlternateAttribute & AsynchronouslyAttribute & AutocapitalizeAttribute & AutocompleteAttribute & AutofocusAttribute & AutoplayAttribute & CharsetAttribute & CheckedAttribute & CiteAttribute & ClassAttribute & ColumnsAttribute & ColumnSpanAttribute & ContentAttribute & EditAttribute & ControlsAttribute & CoordinatesAttribute & DataAttribute & DateTimeAttribute & DefaultAttribute & DeferAttribute & DirectionAttribute & DisabledAttribute & DownloadAttribute & DragAttribute & EncodingAttribute & EnterKeyAttribute & ForAttribute & FormAttribute & FormActionAttribute & EquivalentAttribute & HeadersAttribute & HeightAttribute & HiddenAttribute & HighAttribute & ReferenceAttribute & ReferenceLanguageAttribute & IdentifierAttribute & IsMapAttribute & InputModeAttribute & IsAttribute & ItemAttribute & ItemPropertyAttribute & KindAttribute & LabelAttribute & LanguageAttribute & ListAttribute & LoopAttribute & LowAttribute & MaximumValueAttribute & MaximumLengthAttribute & MediaAttribute & MethodAttribute & MinimumValueAttribute & MinimumLengthAttribute & MultipleAttribute & MutedAttribute & NameAttribute & NonceAttribute & NoValidateAttribute & OpenAttribute & OptimumAttribute & PatternAttribute & PartAttribute & PingAttribute & PlaceholderAttribute & PosterAttribute & PreloadAttribute & ReadOnlyAttribute & ReferrerPolicyAttribute & RelationshipAttribute & RequiredAttribute & ReversedAttribute & RoleAttribute & RowsAttribute & RowSpanAttribute & SandboxAttribute & ScopeAttribute & ShapeAttribute & SizeAttribute & SizesAttribute & SlotAttribute & SpanAttribute & SpellCheckAttribute & SourceAttribute & StartAttribute & StepAttribute & StyleAttribute & TabulatorAttribute & TargetAttribute & TitleAttribute & TranslateAttribute & TypeAttribute & ValueAttribute & WidthAttribute & WrapAttribute & PropertyAttribute & SelectedAttribute & WindowEventAttribute & FocusEventAttribute & PointerEventAttribute & MouseEventAttribute & WheelEventAttribute & InputEventAttribute & KeyboardEventAttribute & DragEventAttribute & ClipboardEventAttribute & SelectionEventAttribute & MediaEventAttribute & FormEventAttribute & DetailEventAttribute & AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & AriaDisabledAttribute & AriaErrorMessageAttribute & AriaFlowToAttribute & AriaPopupAttribute & AriaHiddenAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & AriaLabelAttribute & AriaLabeledAttribute & AriaLiveAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute & SortAccessibilityAttribute & DrawAttribute & FillAttribute & FillOpacityAttribute & StrokeAttribute & StrokeWidthAttribute & StrokeOpacityAttribute & StrokeLineCapAttribute & StrokeLineJoinAttribute & RadiusAttribute & PositionPointAttribute & RadiusPointAttribute & CenterPointAttribute & ViewBoxAttribute & NamespaceAttribute & PointsAttribute & ShadowRootModeAttribute & InertAttribute & FetchPriorityAttribute & LoadingAttribute & SourceSetAttribute & DecodingAttribute & BlockingAttribute & PopoverAttribute & PopoverTargetAttribute & PopoverActionAttribute & UseMapAttribute & PlaysInlineAttribute & IntegrityAttribute & AsAttribute & CrossOriginAttribute & SourceLanguageAttribute & SourceDocumentAttribute struct Tag: ContentNode, GlobalElement, AllAttributes { @@ -1008,6 +1008,10 @@ final class AttributesTests: XCTestCase { return mutate(ariaroledescription: .init(value, context: .tainted(.html))) } + func accessibilitySort(_ value: Values.Accessibility.Sort) -> Tag { + return mutate(ariasort: .init(value.rawValue, context: .trusted)) + } + func shadowRootMode(_ value: Values.Shadow.Mode) -> Tag { return mutate(shadowrootmode: .init(value.rawValue, context: .trusted)) } @@ -3009,6 +3013,19 @@ final class AttributesTests: XCTestCase { ) } + func testSortAccessibilityAttribute() throws { + + let view = TestView { + Tag {}.accessibilitySort(.ascending) + } + + XCTAssertEqual(try renderer.render(view: view), + """ + + """ + ) + } + func testDrawAttribute() throws { let view = TestView { From b9d63f00ab7d19c493b939066a97081e7d0fa84d Mon Sep 17 00:00:00 2001 From: Mattes Mohr Date: Mon, 16 Feb 2026 20:42:51 +0100 Subject: [PATCH 02/12] Revise the flow attribute --- .../Attributes/AriaAttributes.swift | 47 +- .../Abstraction/Elements/BodyElements.swift | 603 ++++++++++++++++++ .../Elements/DefinitionElements.swift | 18 + .../Abstraction/Elements/FigureElements.swift | 9 + .../Abstraction/Elements/FormElements.swift | 36 ++ .../Abstraction/Elements/HtmlElements.swift | 9 + .../Abstraction/Elements/InputElements.swift | 36 ++ .../Abstraction/Elements/ListElements.swift | 9 + .../Abstraction/Elements/MapElements.swift | 9 + .../Abstraction/Elements/RubyElements.swift | 18 + .../Abstraction/Elements/TableElements.swift | 63 ++ Tests/HTMLKitTests/AttributesTests.swift | 20 +- 12 files changed, 862 insertions(+), 15 deletions(-) diff --git a/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift b/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift index 8a54d633..8b1776ea 100644 --- a/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift +++ b/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift @@ -1,5 +1,5 @@ @_documentation(visibility: internal) -public typealias GlobalAriaAttributes = AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & AriaDisabledAttribute & AriaErrorMessageAttribute & AriaFlowToAttribute & AriaPopupAttribute & AriaHiddenAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & AriaLabelAttribute & AriaLabeledAttribute & AriaLiveAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute +public typealias GlobalAriaAttributes = AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & AriaDisabledAttribute & AriaErrorMessageAttribute & FlowAccessibilityAttribute & AriaPopupAttribute & AriaHiddenAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & AriaLabelAttribute & AriaLabeledAttribute & AriaLiveAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute /// The protocol provides the element with accessibility handler. @_documentation(visibility: internal) @@ -392,26 +392,55 @@ extension AriaExpandedAttribute where Self: EmptyNode { } } -/// The protocol provides the element with accessibility handler. +/// A type that provides the `accessibilityFlowTo` modifier. @_documentation(visibility: internal) -public protocol AriaFlowToAttribute: Attribute { +public protocol FlowAccessibilityAttribute: Attribute { - /// The function represents the html-attribute 'aria-flowto'. + /// Suggest an alternate reading order. /// - /// ```html - /// + /// ```swift + /// Heading1 { + /// "Lorem ipsum" + /// } + /// .accessibilityFlowTo(["id", "id"]) + /// Article { + /// "Lorem ipsum..." + /// } + /// .id("id") /// ``` - func aria(flowTo value: String) -> Self + /// + /// - Parameter ids: The identifiers... + /// + /// - Returns: The element + func accessibilityFlowTo(_ ids: [String]) -> Self + + /// Suggest an alternate reading order. + /// + /// ```swift + /// Heading1 { + /// "Lorem ipsum" + /// } + /// .accessibilityFlowTo("id", "id") + /// Article { + /// "Lorem ipsum..." + /// } + /// .id("id") + /// ``` + /// + /// - Parameter ids: The identifiers... + /// + /// - Returns: The element + func accessibilityFlowTo(_ ids: String...) -> Self } -extension AriaFlowToAttribute where Self: ContentNode { +extension FlowAccessibilityAttribute where Self: ContentNode { internal func mutate(ariaflowto value: AttributeData) -> Self { return self.mutate(key: "aria-flowto", value: value) } } -extension AriaFlowToAttribute where Self: EmptyNode { +extension FlowAccessibilityAttribute where Self: EmptyNode { internal func mutate(ariaflowto value: AttributeData) -> Self { return self.mutate(key: "aria-flowto", value: value) diff --git a/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift b/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift index 56eefbf1..631d0425 100644 --- a/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift @@ -500,10 +500,19 @@ extension Article: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Article { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Article { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Article { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Article { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -900,10 +909,19 @@ extension Section: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Section { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Section { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Section { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Section { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -1302,10 +1320,19 @@ extension Navigation: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribu return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Navigation { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Navigation { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Navigation { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Navigation { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -1700,10 +1727,19 @@ extension Aside: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Aside { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Aside { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Aside { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Aside { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -2095,10 +2131,19 @@ extension Heading1: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Heading1 { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Heading1 { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Heading1 { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Heading1 { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -2499,10 +2544,19 @@ extension Heading2: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Heading2 { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Heading2 { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Heading2 { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Heading2 { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -2903,10 +2957,19 @@ extension Heading3: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Heading3 { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Heading3 { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Heading3 { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Heading3 { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -3307,10 +3370,19 @@ extension Heading4: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Heading4 { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Heading4 { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Heading4 { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Heading4 { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -3711,10 +3783,19 @@ extension Heading5: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Heading5 { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Heading5 { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Heading5 { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Heading5 { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -4115,10 +4196,19 @@ extension Heading6: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Heading6 { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Heading6 { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Heading6 { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Heading6 { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -4524,10 +4614,19 @@ extension HeadingGroup: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttri return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> HeadingGroup { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> HeadingGroup { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> HeadingGroup { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> HeadingGroup { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -4920,10 +5019,19 @@ extension Header: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Header { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Header { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Header { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Header { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -5314,10 +5422,19 @@ extension Footer: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Footer { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Footer { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Footer { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Footer { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -5715,10 +5832,19 @@ extension Address: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Address { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Address { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Address { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Address { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -6110,10 +6236,19 @@ extension Paragraph: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Paragraph { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Paragraph { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Paragraph { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Paragraph { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -6505,10 +6640,19 @@ extension HorizontalRule: GlobalAttributes, GlobalEventAttributes, GlobalAriaAtt return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> HorizontalRule { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> HorizontalRule { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> HorizontalRule { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> HorizontalRule { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -6906,10 +7050,19 @@ extension PreformattedText: GlobalAttributes, GlobalEventAttributes, GlobalAriaA return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> PreformattedText { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> PreformattedText { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> PreformattedText { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> PreformattedText { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -7305,10 +7458,19 @@ extension Blockquote: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribu return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Blockquote { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Blockquote { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Blockquote { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Blockquote { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -7726,10 +7888,19 @@ extension OrderedList: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttrib return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> OrderedList { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> OrderedList { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> OrderedList { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> OrderedList { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -8126,10 +8297,19 @@ extension UnorderedList: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttr return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> UnorderedList { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> UnorderedList { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> UnorderedList { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> UnorderedList { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -8838,10 +9018,19 @@ extension DescriptionList: GlobalAttributes, GlobalEventAttributes, GlobalAriaAt return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> DescriptionList { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> DescriptionList { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> DescriptionList { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> DescriptionList { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -9238,10 +9427,19 @@ extension Figure: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Figure { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Figure { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Figure { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Figure { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -9679,10 +9877,19 @@ extension Anchor: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Anchor { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Anchor { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Anchor { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Anchor { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -10087,10 +10294,19 @@ extension Emphasize: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Emphasize { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Emphasize { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Emphasize { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Emphasize { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -10484,10 +10700,19 @@ extension Strong: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Strong { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Strong { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Strong { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Strong { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -10881,10 +11106,19 @@ extension Small: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Small { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Small { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Small { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Small { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -11625,10 +11859,19 @@ extension Main: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Main { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Main { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Main { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Main { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -12326,10 +12569,19 @@ extension Division: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Division { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Division { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Division { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Division { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -12726,10 +12978,19 @@ extension Definition: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribu return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Definition { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Definition { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Definition { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Definition { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -13124,10 +13385,19 @@ extension Cite: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Cite { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Cite { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Cite { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Cite { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -13525,10 +13795,19 @@ extension ShortQuote: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribu return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> ShortQuote { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> ShortQuote { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> ShortQuote { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> ShortQuote { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -13923,10 +14202,19 @@ extension Abbreviation: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttri return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Abbreviation { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Abbreviation { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Abbreviation { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Abbreviation { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -14321,10 +14609,19 @@ extension Ruby: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Ruby { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Ruby { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Ruby { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Ruby { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -14734,10 +15031,19 @@ extension Data: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, V return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Data { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Data { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Data { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Data { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -15137,10 +15443,19 @@ extension Time: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, D return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Time { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Time { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Time { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Time { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -15536,10 +15851,19 @@ extension Code: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Code { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Code { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Code { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Code { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -15935,8 +16259,17 @@ extension Variable: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Variable { return mutate(ariaflowto: .init(value, context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: [String]) -> Variable { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Variable { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) } public func aria(hasPopup value: Values.Accessibility.Popup) -> Variable { @@ -16330,10 +16663,19 @@ extension SampleOutput: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttri return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> SampleOutput { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> SampleOutput { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> SampleOutput { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> SampleOutput { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -16729,10 +17071,19 @@ extension KeyboardInput: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttr return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> KeyboardInput { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> KeyboardInput { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> KeyboardInput { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> KeyboardInput { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -17127,10 +17478,19 @@ extension Subscript: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Subscript { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Subscript { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Subscript { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Subscript { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -17526,10 +17886,19 @@ extension Superscript: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttrib return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Superscript { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Superscript { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Superscript { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Superscript { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -17925,10 +18294,19 @@ extension Italic: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Italic { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Italic { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Italic { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Italic { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -18333,10 +18711,19 @@ extension Bold: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Bold { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Bold { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Bold { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Bold { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -18741,10 +19128,19 @@ extension Underline: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Underline { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Underline { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Underline { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Underline { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -19149,10 +19545,19 @@ extension Mark: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Mark { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Mark { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Mark { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Mark { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -19548,10 +19953,19 @@ extension Bdi: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Bdi { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Bdi { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Bdi { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Bdi { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -19935,10 +20349,19 @@ extension Bdo: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Bdo { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Bdo { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Bdo { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Bdo { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -20330,10 +20753,19 @@ extension Span: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Span { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Span { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Span { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Span { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -20710,10 +21142,19 @@ extension LineBreak: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> LineBreak { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> LineBreak { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> LineBreak { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> LineBreak { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -21094,10 +21535,19 @@ extension WordBreak: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> WordBreak { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> WordBreak { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> WordBreak { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> WordBreak { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -21497,10 +21947,19 @@ extension InsertedText: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttri return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> InsertedText { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> InsertedText { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> InsertedText { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> InsertedText { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -21900,10 +22359,19 @@ extension DeletedText: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttrib return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> DeletedText { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> DeletedText { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> DeletedText { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> DeletedText { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -22685,10 +23153,19 @@ extension Image: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Image { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Image { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Image { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Image { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -23125,10 +23602,19 @@ extension InlineFrame: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttrib return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> InlineFrame { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> InlineFrame { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> InlineFrame { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> InlineFrame { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -23527,10 +24013,19 @@ extension Embed: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Embed { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Embed { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Embed { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Embed { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -23947,10 +24442,19 @@ extension Object: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Object { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Object { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Object { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Object { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -24403,10 +24907,19 @@ extension Video: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Video { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Video { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Video { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Video { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -24842,10 +25355,19 @@ extension Audio: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Audio { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Audio { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Audio { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Audio { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -25614,10 +26136,19 @@ extension Form: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, A return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Form { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Form { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Form { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Form { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -26016,10 +26547,19 @@ extension DataList: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> DataList { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> DataList { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> DataList { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> DataList { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -26425,10 +26965,19 @@ extension Output: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Output { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Output { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Output { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Output { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -26839,10 +27388,19 @@ extension Progress: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Progress { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Progress { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Progress { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Progress { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -27271,10 +27829,19 @@ extension Meter: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Meter { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Meter { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Meter { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Meter { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -27694,10 +28261,19 @@ extension Details: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Details { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Details { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Details { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Details { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -28113,10 +28689,19 @@ extension Dialog: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Dialog { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Dialog { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Dialog { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Dialog { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -29526,10 +30111,19 @@ extension Canvas: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Canvas { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Canvas { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Canvas { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Canvas { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -29936,10 +30530,19 @@ extension Table: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Table { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Table { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Table { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Table { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } diff --git a/Sources/HTMLKit/Abstraction/Elements/DefinitionElements.swift b/Sources/HTMLKit/Abstraction/Elements/DefinitionElements.swift index 5f3b0de4..eca71890 100644 --- a/Sources/HTMLKit/Abstraction/Elements/DefinitionElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/DefinitionElements.swift @@ -364,10 +364,19 @@ extension TermName: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> TermName { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> TermName { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> TermName { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> TermName { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -764,10 +773,19 @@ extension TermDefinition: GlobalAttributes, GlobalEventAttributes, GlobalAriaAtt return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> TermDefinition { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> TermDefinition { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> TermDefinition { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> TermDefinition { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } diff --git a/Sources/HTMLKit/Abstraction/Elements/FigureElements.swift b/Sources/HTMLKit/Abstraction/Elements/FigureElements.swift index 34effaf5..2281a522 100644 --- a/Sources/HTMLKit/Abstraction/Elements/FigureElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/FigureElements.swift @@ -360,10 +360,19 @@ extension FigureCaption: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttr return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> FigureCaption { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> FigureCaption { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> FigureCaption { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> FigureCaption { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } diff --git a/Sources/HTMLKit/Abstraction/Elements/FormElements.swift b/Sources/HTMLKit/Abstraction/Elements/FormElements.swift index 71f72edd..6d24e3c7 100644 --- a/Sources/HTMLKit/Abstraction/Elements/FormElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/FormElements.swift @@ -867,10 +867,19 @@ extension Label: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Label { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Label { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Label { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Label { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -1741,10 +1750,19 @@ extension TextArea: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> TextArea { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> TextArea { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> TextArea { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> TextArea { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -2193,10 +2211,19 @@ extension Button: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Button { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Button { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Button { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Button { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -2624,10 +2651,19 @@ extension Fieldset: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Fieldset { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Fieldset { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Fieldset { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Fieldset { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } diff --git a/Sources/HTMLKit/Abstraction/Elements/HtmlElements.swift b/Sources/HTMLKit/Abstraction/Elements/HtmlElements.swift index 067bca1b..49f16304 100644 --- a/Sources/HTMLKit/Abstraction/Elements/HtmlElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/HtmlElements.swift @@ -679,10 +679,19 @@ extension Body: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, W return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Body { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Body { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Body { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Body { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } diff --git a/Sources/HTMLKit/Abstraction/Elements/InputElements.swift b/Sources/HTMLKit/Abstraction/Elements/InputElements.swift index 8060efbf..178e2726 100644 --- a/Sources/HTMLKit/Abstraction/Elements/InputElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/InputElements.swift @@ -388,10 +388,19 @@ extension OptionGroup: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttrib return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> OptionGroup { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> OptionGroup { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> OptionGroup { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> OptionGroup { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -830,10 +839,19 @@ extension Option: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Option { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Option { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Option { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Option { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -1238,10 +1256,19 @@ extension Legend: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Legend { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Legend { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Legend { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Legend { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -1638,10 +1665,19 @@ extension Summary: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Summary { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Summary { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Summary { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Summary { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } diff --git a/Sources/HTMLKit/Abstraction/Elements/ListElements.swift b/Sources/HTMLKit/Abstraction/Elements/ListElements.swift index 1bd72a4b..b85f2096 100644 --- a/Sources/HTMLKit/Abstraction/Elements/ListElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/ListElements.swift @@ -373,10 +373,19 @@ extension ListItem: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> ListItem { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> ListItem { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> ListItem { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> ListItem { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } diff --git a/Sources/HTMLKit/Abstraction/Elements/MapElements.swift b/Sources/HTMLKit/Abstraction/Elements/MapElements.swift index 7686fee1..e9a910dc 100644 --- a/Sources/HTMLKit/Abstraction/Elements/MapElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/MapElements.swift @@ -403,10 +403,19 @@ extension Area: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, A return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Area { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Area { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Area { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Area { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } diff --git a/Sources/HTMLKit/Abstraction/Elements/RubyElements.swift b/Sources/HTMLKit/Abstraction/Elements/RubyElements.swift index 1cb16d45..f737b0b0 100644 --- a/Sources/HTMLKit/Abstraction/Elements/RubyElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/RubyElements.swift @@ -362,10 +362,19 @@ extension RubyText: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> RubyText { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> RubyText { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> RubyText { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> RubyText { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -767,10 +776,19 @@ extension RubyPronunciation: GlobalAttributes, GlobalEventAttributes, GlobalAria return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> RubyPronunciation { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> RubyPronunciation { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> RubyPronunciation { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> RubyPronunciation { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } diff --git a/Sources/HTMLKit/Abstraction/Elements/TableElements.swift b/Sources/HTMLKit/Abstraction/Elements/TableElements.swift index 417d1454..eb69b6e4 100644 --- a/Sources/HTMLKit/Abstraction/Elements/TableElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/TableElements.swift @@ -385,10 +385,19 @@ extension Caption: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> Caption { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> Caption { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> Caption { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> Caption { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -1438,10 +1447,19 @@ extension TableBody: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> TableBody { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> TableBody { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> TableBody { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> TableBody { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -1854,10 +1872,19 @@ extension TableHead: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> TableHead { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> TableHead { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> TableHead { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> TableHead { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -2262,10 +2289,19 @@ extension TableFoot: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> TableFoot { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> TableFoot { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> TableFoot { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> TableFoot { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -2672,10 +2708,19 @@ extension TableRow: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> TableRow { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> TableRow { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> TableRow { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> TableRow { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -3088,10 +3133,19 @@ extension DataCell: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> DataCell { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> DataCell { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> DataCell { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> DataCell { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } @@ -3507,10 +3561,19 @@ extension HeaderCell: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribu return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityFlowTo(_:) modifier instead.") public func aria(flowTo value: String) -> HeaderCell { return mutate(ariaflowto: .init(value, context: .tainted(.html))) } + public func accessibilityFlowTo(_ ids: [String]) -> HeaderCell { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + public func accessibilityFlowTo(_ ids: String...) -> HeaderCell { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + public func aria(hasPopup value: Values.Accessibility.Popup) -> HeaderCell { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } diff --git a/Tests/HTMLKitTests/AttributesTests.swift b/Tests/HTMLKitTests/AttributesTests.swift index 554288c4..4e4ed98f 100644 --- a/Tests/HTMLKitTests/AttributesTests.swift +++ b/Tests/HTMLKitTests/AttributesTests.swift @@ -15,7 +15,7 @@ final class AttributesTests: XCTestCase { @ContentBuilder var body: Content } - typealias AllAttributes = AccessKeyAttribute & AcceptAttribute & ActionAttribute & AlternateAttribute & AsynchronouslyAttribute & AutocapitalizeAttribute & AutocompleteAttribute & AutofocusAttribute & AutoplayAttribute & CharsetAttribute & CheckedAttribute & CiteAttribute & ClassAttribute & ColumnsAttribute & ColumnSpanAttribute & ContentAttribute & EditAttribute & ControlsAttribute & CoordinatesAttribute & DataAttribute & DateTimeAttribute & DefaultAttribute & DeferAttribute & DirectionAttribute & DisabledAttribute & DownloadAttribute & DragAttribute & EncodingAttribute & EnterKeyAttribute & ForAttribute & FormAttribute & FormActionAttribute & EquivalentAttribute & HeadersAttribute & HeightAttribute & HiddenAttribute & HighAttribute & ReferenceAttribute & ReferenceLanguageAttribute & IdentifierAttribute & IsMapAttribute & InputModeAttribute & IsAttribute & ItemAttribute & ItemPropertyAttribute & KindAttribute & LabelAttribute & LanguageAttribute & ListAttribute & LoopAttribute & LowAttribute & MaximumValueAttribute & MaximumLengthAttribute & MediaAttribute & MethodAttribute & MinimumValueAttribute & MinimumLengthAttribute & MultipleAttribute & MutedAttribute & NameAttribute & NonceAttribute & NoValidateAttribute & OpenAttribute & OptimumAttribute & PatternAttribute & PartAttribute & PingAttribute & PlaceholderAttribute & PosterAttribute & PreloadAttribute & ReadOnlyAttribute & ReferrerPolicyAttribute & RelationshipAttribute & RequiredAttribute & ReversedAttribute & RoleAttribute & RowsAttribute & RowSpanAttribute & SandboxAttribute & ScopeAttribute & ShapeAttribute & SizeAttribute & SizesAttribute & SlotAttribute & SpanAttribute & SpellCheckAttribute & SourceAttribute & StartAttribute & StepAttribute & StyleAttribute & TabulatorAttribute & TargetAttribute & TitleAttribute & TranslateAttribute & TypeAttribute & ValueAttribute & WidthAttribute & WrapAttribute & PropertyAttribute & SelectedAttribute & WindowEventAttribute & FocusEventAttribute & PointerEventAttribute & MouseEventAttribute & WheelEventAttribute & InputEventAttribute & KeyboardEventAttribute & DragEventAttribute & ClipboardEventAttribute & SelectionEventAttribute & MediaEventAttribute & FormEventAttribute & DetailEventAttribute & AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & AriaDisabledAttribute & AriaErrorMessageAttribute & AriaFlowToAttribute & AriaPopupAttribute & AriaHiddenAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & AriaLabelAttribute & AriaLabeledAttribute & AriaLiveAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute & SortAccessibilityAttribute & DrawAttribute & FillAttribute & FillOpacityAttribute & StrokeAttribute & StrokeWidthAttribute & StrokeOpacityAttribute & StrokeLineCapAttribute & StrokeLineJoinAttribute & RadiusAttribute & PositionPointAttribute & RadiusPointAttribute & CenterPointAttribute & ViewBoxAttribute & NamespaceAttribute & PointsAttribute & ShadowRootModeAttribute & InertAttribute & FetchPriorityAttribute & LoadingAttribute & SourceSetAttribute & DecodingAttribute & BlockingAttribute & PopoverAttribute & PopoverTargetAttribute & PopoverActionAttribute & UseMapAttribute & PlaysInlineAttribute & IntegrityAttribute & AsAttribute & CrossOriginAttribute & SourceLanguageAttribute & SourceDocumentAttribute + typealias AllAttributes = AccessKeyAttribute & AcceptAttribute & ActionAttribute & AlternateAttribute & AsynchronouslyAttribute & AutocapitalizeAttribute & AutocompleteAttribute & AutofocusAttribute & AutoplayAttribute & CharsetAttribute & CheckedAttribute & CiteAttribute & ClassAttribute & ColumnsAttribute & ColumnSpanAttribute & ContentAttribute & EditAttribute & ControlsAttribute & CoordinatesAttribute & DataAttribute & DateTimeAttribute & DefaultAttribute & DeferAttribute & DirectionAttribute & DisabledAttribute & DownloadAttribute & DragAttribute & EncodingAttribute & EnterKeyAttribute & ForAttribute & FormAttribute & FormActionAttribute & EquivalentAttribute & HeadersAttribute & HeightAttribute & HiddenAttribute & HighAttribute & ReferenceAttribute & ReferenceLanguageAttribute & IdentifierAttribute & IsMapAttribute & InputModeAttribute & IsAttribute & ItemAttribute & ItemPropertyAttribute & KindAttribute & LabelAttribute & LanguageAttribute & ListAttribute & LoopAttribute & LowAttribute & MaximumValueAttribute & MaximumLengthAttribute & MediaAttribute & MethodAttribute & MinimumValueAttribute & MinimumLengthAttribute & MultipleAttribute & MutedAttribute & NameAttribute & NonceAttribute & NoValidateAttribute & OpenAttribute & OptimumAttribute & PatternAttribute & PartAttribute & PingAttribute & PlaceholderAttribute & PosterAttribute & PreloadAttribute & ReadOnlyAttribute & ReferrerPolicyAttribute & RelationshipAttribute & RequiredAttribute & ReversedAttribute & RoleAttribute & RowsAttribute & RowSpanAttribute & SandboxAttribute & ScopeAttribute & ShapeAttribute & SizeAttribute & SizesAttribute & SlotAttribute & SpanAttribute & SpellCheckAttribute & SourceAttribute & StartAttribute & StepAttribute & StyleAttribute & TabulatorAttribute & TargetAttribute & TitleAttribute & TranslateAttribute & TypeAttribute & ValueAttribute & WidthAttribute & WrapAttribute & PropertyAttribute & SelectedAttribute & WindowEventAttribute & FocusEventAttribute & PointerEventAttribute & MouseEventAttribute & WheelEventAttribute & InputEventAttribute & KeyboardEventAttribute & DragEventAttribute & ClipboardEventAttribute & SelectionEventAttribute & MediaEventAttribute & FormEventAttribute & DetailEventAttribute & AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & AriaDisabledAttribute & AriaErrorMessageAttribute & FlowAccessibilityAttribute & AriaPopupAttribute & AriaHiddenAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & AriaLabelAttribute & AriaLabeledAttribute & AriaLiveAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute & SortAccessibilityAttribute & DrawAttribute & FillAttribute & FillOpacityAttribute & StrokeAttribute & StrokeWidthAttribute & StrokeOpacityAttribute & StrokeLineCapAttribute & StrokeLineJoinAttribute & RadiusAttribute & PositionPointAttribute & RadiusPointAttribute & CenterPointAttribute & ViewBoxAttribute & NamespaceAttribute & PointsAttribute & ShadowRootModeAttribute & InertAttribute & FetchPriorityAttribute & LoadingAttribute & SourceSetAttribute & DecodingAttribute & BlockingAttribute & PopoverAttribute & PopoverTargetAttribute & PopoverActionAttribute & UseMapAttribute & PlaysInlineAttribute & IntegrityAttribute & AsAttribute & CrossOriginAttribute & SourceLanguageAttribute & SourceDocumentAttribute struct Tag: ContentNode, GlobalElement, AllAttributes { @@ -964,8 +964,12 @@ final class AttributesTests: XCTestCase { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } - func aria(flowTo value: String) -> Tag { - return mutate(ariaflowto: .init(value, context: .tainted(.html))) + func accessibilityFlowTo(_ ids: [String]) -> Tag { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) + } + + func accessibilityFlowTo(_ ids: String...) -> Tag { + return mutate(ariaflowto: .init(EnumeratedList(values: ids, separator: " "), context: .tainted(.html))) } func aria(hasPopup value: Values.Accessibility.Popup) -> Tag { @@ -2870,15 +2874,19 @@ final class AttributesTests: XCTestCase { ) } - func testFlowToAriaAttribute() throws { + func testFlowAccessibilityAttribute() throws { let view = TestView { - Tag {}.aria(flowTo: "flow") + Tag {}.accessibilityFlowTo("id") + Tag {}.accessibilityFlowTo("id", "id") + Tag {}.accessibilityFlowTo(["id", "id"]) } XCTAssertEqual(try renderer.render(view: view), """ - + \ + \ + """ ) } From 9d7697da38ccd1e89a0e4d89e6f7d0c1dcb2b0d0 Mon Sep 17 00:00:00 2001 From: Mattes Mohr Date: Wed, 18 Feb 2026 20:47:16 +0100 Subject: [PATCH 03/12] Revise the label attribute --- .../Attributes/AriaAttributes.swift | 62 +- .../Abstraction/Elements/BodyElements.swift | 871 ++++++++++++++++++ .../Elements/DefinitionElements.swift | 26 + .../Abstraction/Elements/FigureElements.swift | 13 + .../Abstraction/Elements/FormElements.swift | 52 ++ .../Abstraction/Elements/HtmlElements.swift | 13 + .../Abstraction/Elements/InputElements.swift | 52 ++ .../Abstraction/Elements/ListElements.swift | 13 + .../Abstraction/Elements/MapElements.swift | 13 + .../Abstraction/Elements/RubyElements.swift | 26 + .../Abstraction/Elements/TableElements.swift | 91 ++ Tests/HTMLKitTests/AttributesTests.swift | 16 +- 12 files changed, 1235 insertions(+), 13 deletions(-) diff --git a/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift b/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift index 8b1776ea..5ed6b59d 100644 --- a/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift +++ b/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift @@ -1,5 +1,5 @@ @_documentation(visibility: internal) -public typealias GlobalAriaAttributes = AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & AriaDisabledAttribute & AriaErrorMessageAttribute & FlowAccessibilityAttribute & AriaPopupAttribute & AriaHiddenAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & AriaLabelAttribute & AriaLabeledAttribute & AriaLiveAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute +public typealias GlobalAriaAttributes = AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & AriaDisabledAttribute & AriaErrorMessageAttribute & FlowAccessibilityAttribute & AriaPopupAttribute & AriaHiddenAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & LabelAccessibilityAttribute & AriaLabeledAttribute & AriaLiveAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute /// The protocol provides the element with accessibility handler. @_documentation(visibility: internal) @@ -551,26 +551,70 @@ extension AriaShortcutsAttribute where Self: EmptyNode { } } -/// The protocol provides the element with accessibility handler. +/// A type that provides the `accessibilityLabel` modifier. @_documentation(visibility: internal) -public protocol AriaLabelAttribute: Attribute { +public protocol LabelAccessibilityAttribute: Attribute { - /// The function represents the html-attribute 'aria-label'. + /// Indicate a label for the current element. /// - /// ```html - /// + /// ```swift + /// Button { + /// Vector { + /// Path { + /// } + /// .draw("M...") + /// } + /// } + /// .accessibilityLabel("Lorem ipsum") + /// ``` + /// - Parameter value: The label to describe the element. + /// + /// - Returns: The element + func accessibilityLabel(_ value: String) -> Self + + /// Indicate a localized label for the current element. + /// + /// ```swift + /// Button { + /// Vector { + /// Path { + /// } + /// .draw("M...") + /// } + /// } + /// .accessibilityLabel("Lorem ipsum") + /// ``` + /// - Parameter value: The label to describe the element. + /// + /// - Returns: The element + func accessibilityLabel(_ localized: LocalizedStringKey, tableName: String?) -> Self + + /// Indicate a label for the current element. + /// + /// ```swift + /// Button { + /// Vector { + /// Path { + /// } + /// .draw("M...") + /// } + /// } + /// .accessibilityLabel(verbatim: "Lorem ipsum") /// ``` - func aria(label value: String) -> Self + /// - Parameter value: The label to describe the element. + /// + /// - Returns: The element + func accessibilityLabel(verbatim value: String) -> Self } -extension AriaLabelAttribute where Self: ContentNode { +extension LabelAccessibilityAttribute where Self: ContentNode { internal func mutate(arialabel value: AttributeData) -> Self { return self.mutate(key: "aria-label", value: value) } } -extension AriaLabelAttribute where Self: EmptyNode { +extension LabelAccessibilityAttribute where Self: EmptyNode { internal func mutate(arialabel value: AttributeData) -> Self { return self.mutate(key: "aria-label", value: value) diff --git a/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift b/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift index 631d0425..f09248cc 100644 --- a/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift @@ -529,10 +529,23 @@ extension Article: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Article { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Article { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Article { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Article { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Article { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -938,10 +951,23 @@ extension Section: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Section { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Section { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Section { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Section { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Section { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -1349,10 +1375,23 @@ extension Navigation: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribu return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Navigation { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Navigation { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Navigation { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Navigation { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Navigation { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -1756,10 +1795,23 @@ extension Aside: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Aside { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Aside { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Aside { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Aside { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Aside { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -2160,10 +2212,23 @@ extension Heading1: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Heading1 { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Heading1 { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Heading1 { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Heading1 { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Heading1 { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -2573,10 +2638,23 @@ extension Heading2: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Heading2 { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Heading2 { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Heading2 { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Heading2 { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Heading2 { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -2986,10 +3064,23 @@ extension Heading3: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Heading3 { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Heading3 { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Heading3 { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Heading3 { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Heading3 { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -3399,10 +3490,23 @@ extension Heading4: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Heading4 { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Heading4 { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Heading4 { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Heading4 { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Heading4 { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -3812,10 +3916,23 @@ extension Heading5: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Heading5 { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Heading5 { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Heading5 { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Heading5 { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Heading5 { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -4225,10 +4342,23 @@ extension Heading6: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Heading6 { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Heading6 { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Heading6 { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Heading6 { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Heading6 { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -4643,10 +4773,23 @@ extension HeadingGroup: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttri return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> HeadingGroup { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> HeadingGroup { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> HeadingGroup { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> HeadingGroup { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> HeadingGroup { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -5048,10 +5191,23 @@ extension Header: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Header { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Header { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Header { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Header { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Header { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -5451,10 +5607,23 @@ extension Footer: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Footer { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Footer { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Footer { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Footer { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Footer { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -5861,10 +6030,23 @@ extension Address: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Address { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Address { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Address { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Address { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Address { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -6265,10 +6447,23 @@ extension Paragraph: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Paragraph { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Paragraph { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Paragraph { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Paragraph { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Paragraph { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -6669,10 +6864,23 @@ extension HorizontalRule: GlobalAttributes, GlobalEventAttributes, GlobalAriaAtt return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> HorizontalRule { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> HorizontalRule { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> HorizontalRule { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> HorizontalRule { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> HorizontalRule { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -7079,10 +7287,23 @@ extension PreformattedText: GlobalAttributes, GlobalEventAttributes, GlobalAriaA return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> PreformattedText { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> PreformattedText { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> PreformattedText { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> PreformattedText { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> PreformattedText { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -7487,10 +7708,23 @@ extension Blockquote: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribu return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Blockquote { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Blockquote { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Blockquote { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Blockquote { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Blockquote { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -7917,10 +8151,23 @@ extension OrderedList: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttrib return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> OrderedList { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> OrderedList { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> OrderedList { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> OrderedList { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> OrderedList { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -8326,10 +8573,23 @@ extension UnorderedList: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttr return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> UnorderedList { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> UnorderedList { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> UnorderedList { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> UnorderedList { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> UnorderedList { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -9047,10 +9307,23 @@ extension DescriptionList: GlobalAttributes, GlobalEventAttributes, GlobalAriaAt return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> DescriptionList { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> DescriptionList { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> DescriptionList { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> DescriptionList { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> DescriptionList { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -9456,10 +9729,23 @@ extension Figure: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Figure { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Figure { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Figure { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Figure { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Figure { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -9906,10 +10192,23 @@ extension Anchor: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Anchor { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Anchor { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Anchor { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Anchor { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Anchor { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -10323,10 +10622,23 @@ extension Emphasize: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Emphasize { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Emphasize { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Emphasize { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Emphasize { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Emphasize { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -10729,10 +11041,23 @@ extension Strong: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Strong { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Strong { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Strong { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Strong { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Strong { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -11135,10 +11460,23 @@ extension Small: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Small { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Small { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Small { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Small { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Small { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -11888,10 +12226,23 @@ extension Main: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Main { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Main { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Main { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Main { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Main { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -12598,10 +12949,23 @@ extension Division: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Division { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Division { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Division { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Division { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Division { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -13007,10 +13371,23 @@ extension Definition: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribu return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Definition { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Definition { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Definition { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Definition { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Definition { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -13414,10 +13791,23 @@ extension Cite: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Cite { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Cite { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Cite { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Cite { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Cite { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -13824,10 +14214,23 @@ extension ShortQuote: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribu return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> ShortQuote { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> ShortQuote { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> ShortQuote { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> ShortQuote { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> ShortQuote { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -14231,10 +14634,23 @@ extension Abbreviation: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttri return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Abbreviation { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Abbreviation { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Abbreviation { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Abbreviation { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Abbreviation { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -14638,10 +15054,23 @@ extension Ruby: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Ruby { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Ruby { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Ruby { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Ruby { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Ruby { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -15060,10 +15489,23 @@ extension Data: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, V return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Data { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Data { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Data { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Data { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Data { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -15472,10 +15914,23 @@ extension Time: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, D return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Time { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Time { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Time { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Time { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Time { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -15880,10 +16335,23 @@ extension Code: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Code { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Code { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Code { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Code { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Code { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -16288,10 +16756,23 @@ extension Variable: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Variable { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Variable { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Variable { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Variable { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Variable { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -16692,10 +17173,23 @@ extension SampleOutput: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttri return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> SampleOutput { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> SampleOutput { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> SampleOutput { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> SampleOutput { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> SampleOutput { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -17100,10 +17594,23 @@ extension KeyboardInput: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttr return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> KeyboardInput { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> KeyboardInput { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> KeyboardInput { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> KeyboardInput { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> KeyboardInput { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -17507,10 +18014,23 @@ extension Subscript: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Subscript { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Subscript { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Subscript { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Subscript { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Subscript { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -17915,10 +18435,23 @@ extension Superscript: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttrib return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Superscript { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Superscript { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Superscript { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Superscript { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Superscript { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -18323,10 +18856,23 @@ extension Italic: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Italic { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Italic { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Italic { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Italic { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Italic { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -18740,10 +19286,23 @@ extension Bold: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Bold { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Bold { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Bold { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Bold { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Bold { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -19157,10 +19716,23 @@ extension Underline: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Underline { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Underline { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Underline { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Underline { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Underline { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -19574,10 +20146,23 @@ extension Mark: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Mark { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Mark { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Mark { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Mark { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Mark { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -19982,10 +20567,23 @@ extension Bdi: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Bdi { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Bdi { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Bdi { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Bdi { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Bdi { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -20378,10 +20976,23 @@ extension Bdo: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Bdo { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Bdo { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Bdo { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Bdo { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Bdo { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -20782,10 +21393,23 @@ extension Span: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Span { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Span { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Span { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Span { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Span { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -21171,10 +21795,23 @@ extension LineBreak: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> LineBreak { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> LineBreak { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> LineBreak { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> LineBreak { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> LineBreak { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -21564,10 +22201,23 @@ extension WordBreak: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> WordBreak { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> WordBreak { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> WordBreak { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> WordBreak { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> WordBreak { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -21976,10 +22626,23 @@ extension InsertedText: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttri return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> InsertedText { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> InsertedText { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> InsertedText { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> InsertedText { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> InsertedText { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -22388,10 +23051,23 @@ extension DeletedText: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttrib return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> DeletedText { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> DeletedText { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> DeletedText { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> DeletedText { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> DeletedText { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -23182,10 +23858,23 @@ extension Image: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Image { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Image { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Image { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Image { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Image { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -23631,10 +24320,23 @@ extension InlineFrame: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttrib return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> InlineFrame { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> InlineFrame { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> InlineFrame { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> InlineFrame { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> InlineFrame { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -24042,10 +24744,23 @@ extension Embed: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Embed { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Embed { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Embed { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Embed { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Embed { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -24471,10 +25186,23 @@ extension Object: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Object { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Object { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Object { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Object { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Object { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -24936,10 +25664,23 @@ extension Video: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Video { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Video { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Video { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Video { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Video { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -25384,10 +26125,23 @@ extension Audio: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Audio { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Audio { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Audio { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Audio { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Audio { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -26165,10 +26919,23 @@ extension Form: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, A return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Form { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Form { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Form { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Form { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Form { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -26576,10 +27343,23 @@ extension DataList: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> DataList { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> DataList { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> DataList { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> DataList { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> DataList { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -26994,10 +27774,23 @@ extension Output: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Output { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Output { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Output { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Output { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Output { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -27417,10 +28210,23 @@ extension Progress: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Progress { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Progress { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Progress { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Progress { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Progress { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -27858,10 +28664,23 @@ extension Meter: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Meter { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Meter { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Meter { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Meter { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Meter { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -28290,10 +29109,23 @@ extension Details: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Details { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Details { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Details { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Details { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Details { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -28718,10 +29550,23 @@ extension Dialog: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Dialog { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Dialog { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Dialog { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Dialog { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Dialog { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -30140,10 +30985,23 @@ extension Canvas: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Canvas { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Canvas { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Canvas { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Canvas { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Canvas { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -30559,10 +31417,23 @@ extension Table: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Table { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Table { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Table { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Table { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Table { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } diff --git a/Sources/HTMLKit/Abstraction/Elements/DefinitionElements.swift b/Sources/HTMLKit/Abstraction/Elements/DefinitionElements.swift index eca71890..54f0e1e0 100644 --- a/Sources/HTMLKit/Abstraction/Elements/DefinitionElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/DefinitionElements.swift @@ -393,10 +393,23 @@ extension TermName: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> TermName { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> TermName { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> TermName { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> TermName { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> TermName { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -802,10 +815,23 @@ extension TermDefinition: GlobalAttributes, GlobalEventAttributes, GlobalAriaAtt return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> TermDefinition { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> TermDefinition { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> TermDefinition { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> TermDefinition { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> TermDefinition { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } diff --git a/Sources/HTMLKit/Abstraction/Elements/FigureElements.swift b/Sources/HTMLKit/Abstraction/Elements/FigureElements.swift index 2281a522..cb1f097c 100644 --- a/Sources/HTMLKit/Abstraction/Elements/FigureElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/FigureElements.swift @@ -389,10 +389,23 @@ extension FigureCaption: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttr return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> FigureCaption { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> FigureCaption { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> FigureCaption { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> FigureCaption { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> FigureCaption { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } diff --git a/Sources/HTMLKit/Abstraction/Elements/FormElements.swift b/Sources/HTMLKit/Abstraction/Elements/FormElements.swift index 6d24e3c7..d21c0c8b 100644 --- a/Sources/HTMLKit/Abstraction/Elements/FormElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/FormElements.swift @@ -896,10 +896,23 @@ extension Label: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Label { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Label { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Label { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Label { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Label { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -1779,10 +1792,23 @@ extension TextArea: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> TextArea { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> TextArea { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> TextArea { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> TextArea { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> TextArea { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -2240,10 +2266,23 @@ extension Button: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Button { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Button { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Button { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Button { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Button { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -2680,10 +2719,23 @@ extension Fieldset: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Fieldset { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Fieldset { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Fieldset { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Fieldset { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Fieldset { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } diff --git a/Sources/HTMLKit/Abstraction/Elements/HtmlElements.swift b/Sources/HTMLKit/Abstraction/Elements/HtmlElements.swift index 49f16304..1e482a80 100644 --- a/Sources/HTMLKit/Abstraction/Elements/HtmlElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/HtmlElements.swift @@ -708,10 +708,23 @@ extension Body: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, W return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Body { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Body { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Body { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Body { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Body { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } diff --git a/Sources/HTMLKit/Abstraction/Elements/InputElements.swift b/Sources/HTMLKit/Abstraction/Elements/InputElements.swift index 178e2726..73088934 100644 --- a/Sources/HTMLKit/Abstraction/Elements/InputElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/InputElements.swift @@ -417,10 +417,23 @@ extension OptionGroup: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttrib return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> OptionGroup { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> OptionGroup { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> OptionGroup { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> OptionGroup { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> OptionGroup { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -868,10 +881,23 @@ extension Option: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Option { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Option { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Option { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Option { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Option { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -1285,10 +1311,23 @@ extension Legend: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Legend { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Legend { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Legend { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Legend { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Legend { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -1694,10 +1733,23 @@ extension Summary: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Summary { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Summary { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Summary { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Summary { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Summary { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } diff --git a/Sources/HTMLKit/Abstraction/Elements/ListElements.swift b/Sources/HTMLKit/Abstraction/Elements/ListElements.swift index b85f2096..e998a1ef 100644 --- a/Sources/HTMLKit/Abstraction/Elements/ListElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/ListElements.swift @@ -402,10 +402,23 @@ extension ListItem: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> ListItem { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> ListItem { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> ListItem { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> ListItem { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> ListItem { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } diff --git a/Sources/HTMLKit/Abstraction/Elements/MapElements.swift b/Sources/HTMLKit/Abstraction/Elements/MapElements.swift index e9a910dc..3d3d31c2 100644 --- a/Sources/HTMLKit/Abstraction/Elements/MapElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/MapElements.swift @@ -432,9 +432,22 @@ extension Area: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, A return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Area { return mutate(arialabel: .init(value, context: .tainted(.html))) } + + public func accessibilityLabel(_ value: String) -> Area { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Area { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Area { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } public func aria(labeledBy value: String) -> Area { return mutate(arialabeledby: .init(value, context: .tainted(.html))) diff --git a/Sources/HTMLKit/Abstraction/Elements/RubyElements.swift b/Sources/HTMLKit/Abstraction/Elements/RubyElements.swift index f737b0b0..a342dfd4 100644 --- a/Sources/HTMLKit/Abstraction/Elements/RubyElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/RubyElements.swift @@ -391,10 +391,23 @@ extension RubyText: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> RubyText { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> RubyText { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> RubyText { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> RubyText { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> RubyText { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -805,10 +818,23 @@ extension RubyPronunciation: GlobalAttributes, GlobalEventAttributes, GlobalAria return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> RubyPronunciation { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> RubyPronunciation { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> RubyPronunciation { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> RubyPronunciation { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> RubyPronunciation { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } diff --git a/Sources/HTMLKit/Abstraction/Elements/TableElements.swift b/Sources/HTMLKit/Abstraction/Elements/TableElements.swift index eb69b6e4..601473bf 100644 --- a/Sources/HTMLKit/Abstraction/Elements/TableElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/TableElements.swift @@ -414,10 +414,23 @@ extension Caption: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> Caption { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> Caption { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> Caption { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> Caption { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> Caption { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -1476,10 +1489,23 @@ extension TableBody: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> TableBody { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> TableBody { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> TableBody { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> TableBody { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> TableBody { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -1901,10 +1927,23 @@ extension TableHead: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> TableHead { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> TableHead { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> TableHead { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> TableHead { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> TableHead { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -2318,10 +2357,23 @@ extension TableFoot: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> TableFoot { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> TableFoot { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> TableFoot { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> TableFoot { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> TableFoot { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -2737,10 +2789,23 @@ extension TableRow: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> TableRow { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> TableRow { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> TableRow { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> TableRow { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> TableRow { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -3162,10 +3227,23 @@ extension DataCell: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> DataCell { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> DataCell { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> DataCell { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> DataCell { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> DataCell { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } @@ -3590,10 +3668,23 @@ extension HeaderCell: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribu return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLabel(_:) modifier instead.") public func aria(label value: String) -> HeaderCell { return mutate(arialabel: .init(value, context: .tainted(.html))) } + public func accessibilityLabel(_ value: String) -> HeaderCell { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + public func accessibilityLabel(_ localizedKey: LocalizedStringKey, tableName: String? = nil) -> HeaderCell { + return mutate(arialabel: .init(LocalizedString(key: localizedKey, table: tableName), context: .tainted(.html))) + } + + public func accessibilityLabel(verbatim value: String) -> HeaderCell { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + public func aria(labeledBy value: String) -> HeaderCell { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } diff --git a/Tests/HTMLKitTests/AttributesTests.swift b/Tests/HTMLKitTests/AttributesTests.swift index 4e4ed98f..59e7e747 100644 --- a/Tests/HTMLKitTests/AttributesTests.swift +++ b/Tests/HTMLKitTests/AttributesTests.swift @@ -15,7 +15,7 @@ final class AttributesTests: XCTestCase { @ContentBuilder var body: Content } - typealias AllAttributes = AccessKeyAttribute & AcceptAttribute & ActionAttribute & AlternateAttribute & AsynchronouslyAttribute & AutocapitalizeAttribute & AutocompleteAttribute & AutofocusAttribute & AutoplayAttribute & CharsetAttribute & CheckedAttribute & CiteAttribute & ClassAttribute & ColumnsAttribute & ColumnSpanAttribute & ContentAttribute & EditAttribute & ControlsAttribute & CoordinatesAttribute & DataAttribute & DateTimeAttribute & DefaultAttribute & DeferAttribute & DirectionAttribute & DisabledAttribute & DownloadAttribute & DragAttribute & EncodingAttribute & EnterKeyAttribute & ForAttribute & FormAttribute & FormActionAttribute & EquivalentAttribute & HeadersAttribute & HeightAttribute & HiddenAttribute & HighAttribute & ReferenceAttribute & ReferenceLanguageAttribute & IdentifierAttribute & IsMapAttribute & InputModeAttribute & IsAttribute & ItemAttribute & ItemPropertyAttribute & KindAttribute & LabelAttribute & LanguageAttribute & ListAttribute & LoopAttribute & LowAttribute & MaximumValueAttribute & MaximumLengthAttribute & MediaAttribute & MethodAttribute & MinimumValueAttribute & MinimumLengthAttribute & MultipleAttribute & MutedAttribute & NameAttribute & NonceAttribute & NoValidateAttribute & OpenAttribute & OptimumAttribute & PatternAttribute & PartAttribute & PingAttribute & PlaceholderAttribute & PosterAttribute & PreloadAttribute & ReadOnlyAttribute & ReferrerPolicyAttribute & RelationshipAttribute & RequiredAttribute & ReversedAttribute & RoleAttribute & RowsAttribute & RowSpanAttribute & SandboxAttribute & ScopeAttribute & ShapeAttribute & SizeAttribute & SizesAttribute & SlotAttribute & SpanAttribute & SpellCheckAttribute & SourceAttribute & StartAttribute & StepAttribute & StyleAttribute & TabulatorAttribute & TargetAttribute & TitleAttribute & TranslateAttribute & TypeAttribute & ValueAttribute & WidthAttribute & WrapAttribute & PropertyAttribute & SelectedAttribute & WindowEventAttribute & FocusEventAttribute & PointerEventAttribute & MouseEventAttribute & WheelEventAttribute & InputEventAttribute & KeyboardEventAttribute & DragEventAttribute & ClipboardEventAttribute & SelectionEventAttribute & MediaEventAttribute & FormEventAttribute & DetailEventAttribute & AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & AriaDisabledAttribute & AriaErrorMessageAttribute & FlowAccessibilityAttribute & AriaPopupAttribute & AriaHiddenAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & AriaLabelAttribute & AriaLabeledAttribute & AriaLiveAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute & SortAccessibilityAttribute & DrawAttribute & FillAttribute & FillOpacityAttribute & StrokeAttribute & StrokeWidthAttribute & StrokeOpacityAttribute & StrokeLineCapAttribute & StrokeLineJoinAttribute & RadiusAttribute & PositionPointAttribute & RadiusPointAttribute & CenterPointAttribute & ViewBoxAttribute & NamespaceAttribute & PointsAttribute & ShadowRootModeAttribute & InertAttribute & FetchPriorityAttribute & LoadingAttribute & SourceSetAttribute & DecodingAttribute & BlockingAttribute & PopoverAttribute & PopoverTargetAttribute & PopoverActionAttribute & UseMapAttribute & PlaysInlineAttribute & IntegrityAttribute & AsAttribute & CrossOriginAttribute & SourceLanguageAttribute & SourceDocumentAttribute + typealias AllAttributes = AccessKeyAttribute & AcceptAttribute & ActionAttribute & AlternateAttribute & AsynchronouslyAttribute & AutocapitalizeAttribute & AutocompleteAttribute & AutofocusAttribute & AutoplayAttribute & CharsetAttribute & CheckedAttribute & CiteAttribute & ClassAttribute & ColumnsAttribute & ColumnSpanAttribute & ContentAttribute & EditAttribute & ControlsAttribute & CoordinatesAttribute & DataAttribute & DateTimeAttribute & DefaultAttribute & DeferAttribute & DirectionAttribute & DisabledAttribute & DownloadAttribute & DragAttribute & EncodingAttribute & EnterKeyAttribute & ForAttribute & FormAttribute & FormActionAttribute & EquivalentAttribute & HeadersAttribute & HeightAttribute & HiddenAttribute & HighAttribute & ReferenceAttribute & ReferenceLanguageAttribute & IdentifierAttribute & IsMapAttribute & InputModeAttribute & IsAttribute & ItemAttribute & ItemPropertyAttribute & KindAttribute & LabelAttribute & LanguageAttribute & ListAttribute & LoopAttribute & LowAttribute & MaximumValueAttribute & MaximumLengthAttribute & MediaAttribute & MethodAttribute & MinimumValueAttribute & MinimumLengthAttribute & MultipleAttribute & MutedAttribute & NameAttribute & NonceAttribute & NoValidateAttribute & OpenAttribute & OptimumAttribute & PatternAttribute & PartAttribute & PingAttribute & PlaceholderAttribute & PosterAttribute & PreloadAttribute & ReadOnlyAttribute & ReferrerPolicyAttribute & RelationshipAttribute & RequiredAttribute & ReversedAttribute & RoleAttribute & RowsAttribute & RowSpanAttribute & SandboxAttribute & ScopeAttribute & ShapeAttribute & SizeAttribute & SizesAttribute & SlotAttribute & SpanAttribute & SpellCheckAttribute & SourceAttribute & StartAttribute & StepAttribute & StyleAttribute & TabulatorAttribute & TargetAttribute & TitleAttribute & TranslateAttribute & TypeAttribute & ValueAttribute & WidthAttribute & WrapAttribute & PropertyAttribute & SelectedAttribute & WindowEventAttribute & FocusEventAttribute & PointerEventAttribute & MouseEventAttribute & WheelEventAttribute & InputEventAttribute & KeyboardEventAttribute & DragEventAttribute & ClipboardEventAttribute & SelectionEventAttribute & MediaEventAttribute & FormEventAttribute & DetailEventAttribute & AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & AriaDisabledAttribute & AriaErrorMessageAttribute & FlowAccessibilityAttribute & AriaPopupAttribute & AriaHiddenAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & LabelAccessibilityAttribute & AriaLabeledAttribute & AriaLiveAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute & SortAccessibilityAttribute & DrawAttribute & FillAttribute & FillOpacityAttribute & StrokeAttribute & StrokeWidthAttribute & StrokeOpacityAttribute & StrokeLineCapAttribute & StrokeLineJoinAttribute & RadiusAttribute & PositionPointAttribute & RadiusPointAttribute & CenterPointAttribute & ViewBoxAttribute & NamespaceAttribute & PointsAttribute & ShadowRootModeAttribute & InertAttribute & FetchPriorityAttribute & LoadingAttribute & SourceSetAttribute & DecodingAttribute & BlockingAttribute & PopoverAttribute & PopoverTargetAttribute & PopoverActionAttribute & UseMapAttribute & PlaysInlineAttribute & IntegrityAttribute & AsAttribute & CrossOriginAttribute & SourceLanguageAttribute & SourceDocumentAttribute struct Tag: ContentNode, GlobalElement, AllAttributes { @@ -987,8 +987,16 @@ final class AttributesTests: XCTestCase { func aria(keyShortcuts value: String) -> Tag { return mutate(ariakeyshortcuts: .init(value, context: .tainted(.html))) } + + func accessibilityLabel(_ value: String) -> Tag { + return mutate(arialabel: .init(value, context: .tainted(.html))) + } + + func accessibilityLabel(_ localized: LocalizedStringKey, tableName: String? = nil) -> Tag { + return mutate(arialabel: .init(LocalizedString(key: localized, table: tableName), context: .tainted(.html))) + } - func aria(label value: String) -> Tag { + func accessibilityLabel(verbatim value: String) -> Tag { return mutate(arialabel: .init(value, context: .tainted(.html))) } @@ -2943,10 +2951,10 @@ final class AttributesTests: XCTestCase { ) } - func testLabelAriaAttribute() throws { + func testLabelAccessibilityAttribute() throws { let view = TestView { - Tag {}.aria(label: "label") + Tag {}.accessibilityLabel("label") } XCTAssertEqual(try renderer.render(view: view), From e8bc4c6cedd91715ad2f09daccccdc1be8c1ebb6 Mon Sep 17 00:00:00 2001 From: Mattes Mohr Date: Wed, 18 Feb 2026 21:57:29 +0100 Subject: [PATCH 04/12] Revise the orientation attribute --- .../Attributes/AriaAttributes.swift | 22 ++++++++++------ .../Abstraction/Elements/BodyElements.swift | 26 +++++++++++++++---- Tests/HTMLKitTests/AttributesTests.swift | 23 +++++++++++++++- 3 files changed, 57 insertions(+), 14 deletions(-) diff --git a/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift b/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift index 5ed6b59d..ad170ca1 100644 --- a/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift +++ b/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift @@ -777,26 +777,32 @@ extension AriaMultiselectAttribute where Self: EmptyNode { } } -/// The protocol provides the element with accessibility handler. +/// A type that provides the `accessibilityOrientation` modifier. @_documentation(visibility: internal) -public protocol AriaOrientationAttribute: Attribute { +public protocol OrientationAccessibilityAttribute: Attribute { - /// The function represents the html-attribute 'aria-orientation'. + /// Indicate the orientation of the element. /// - /// ```html - /// + /// ```swift + /// Division { + /// } + /// .role(.scrollbar) + /// .accessibilityOrientation(.horizontal) /// ``` - func aria(orientation value: Values.Accessibility.Orientation) -> Self + /// - Parameter value: The orientation the element is in. + /// + /// - Returns: The element + func accessibilityOrientation(_ value: Values.Accessibility.Orientation) -> Self } -extension AriaOrientationAttribute where Self: ContentNode { +extension OrientationAccessibilityAttribute where Self: ContentNode { internal func mutate(ariaorientation value: AttributeData) -> Self { return self.mutate(key: "aria-orientation", value: value) } } -extension AriaOrientationAttribute where Self: EmptyNode { +extension OrientationAccessibilityAttribute where Self: EmptyNode { internal func mutate(ariaorientation value: AttributeData) -> Self { return self.mutate(key: "aria-orientation", value: value) diff --git a/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift b/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift index f09248cc..57fec9f4 100644 --- a/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift @@ -7827,7 +7827,7 @@ public struct OrderedList: ContentNode, HtmlElement, BodyElement, FormElement, F } } -extension OrderedList: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, ReversedAttribute, StartAttribute, TypeAttribute { +extension OrderedList: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, ReversedAttribute, StartAttribute, TypeAttribute, OrientationAccessibilityAttribute { public func accessKey(_ value: Character) -> OrderedList { return mutate(accesskey: .init("\(value)", context: .trusted)) @@ -8187,6 +8187,10 @@ extension OrderedList: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttrib public func aria(roleDescription value: String) -> OrderedList { return mutate(ariaroledescription: .init(value, context: .tainted(.html))) } + + public func accessibilityOrientation(_ value: Values.Accessibility.Orientation) -> OrderedList { + return mutate(ariaorientation: .init(value.rawValue, context: .trusted)) + } } /// An element that represents a unordered list. @@ -8261,7 +8265,7 @@ public struct UnorderedList: ContentNode, HtmlElement, BodyElement, FormElement, } } -extension UnorderedList: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { +extension UnorderedList: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, OrientationAccessibilityAttribute { public func accessKey(_ value: Character) -> UnorderedList { return mutate(accesskey: .init("\(value)", context: .trusted)) @@ -8609,6 +8613,10 @@ extension UnorderedList: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttr public func aria(roleDescription value: String) -> UnorderedList { return mutate(ariaroledescription: .init(value, context: .tainted(.html))) } + + public func accessibilityOrientation(_ value: Values.Accessibility.Orientation) -> UnorderedList { + return mutate(ariaorientation: .init(value.rawValue, context: .trusted)) + } } /// An element that represents an action menu. @@ -12637,8 +12645,8 @@ public struct Division: ContentNode, HtmlElement, BodyElement, FormElement, Figu } } -extension Division: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { - +extension Division: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, OrientationAccessibilityAttribute { + public func accessKey(_ value: Character) -> Division { return mutate(accesskey: .init("\(value)", context: .trusted)) } @@ -12985,6 +12993,10 @@ extension Division: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute public func aria(roleDescription value: String) -> Division { return mutate(ariaroledescription: .init(value, context: .tainted(.html))) } + + public func accessibilityOrientation(_ value: Values.Accessibility.Orientation) -> Division { + return mutate(ariaorientation: .init(value.rawValue, context: .trusted)) + } } /// An element that represents a term definition. @@ -21081,7 +21093,7 @@ public struct Span: ContentNode, HtmlElement, BodyElement, FormElement, FigureEl } } -extension Span: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { +extension Span: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, OrientationAccessibilityAttribute { public func accessKey(_ value: Character) -> Span { return mutate(accesskey: .init("\(value)", context: .trusted)) @@ -21429,6 +21441,10 @@ extension Span: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { public func aria(roleDescription value: String) -> Span { return mutate(ariaroledescription: .init(value, context: .tainted(.html))) } + + public func accessibilityOrientation(_ value: Values.Accessibility.Orientation) -> Span { + return mutate(ariaorientation: .init(value.rawValue, context: .trusted)) + } } /// An element that represents a line break. diff --git a/Tests/HTMLKitTests/AttributesTests.swift b/Tests/HTMLKitTests/AttributesTests.swift index 59e7e747..83bbe260 100644 --- a/Tests/HTMLKitTests/AttributesTests.swift +++ b/Tests/HTMLKitTests/AttributesTests.swift @@ -15,7 +15,7 @@ final class AttributesTests: XCTestCase { @ContentBuilder var body: Content } - typealias AllAttributes = AccessKeyAttribute & AcceptAttribute & ActionAttribute & AlternateAttribute & AsynchronouslyAttribute & AutocapitalizeAttribute & AutocompleteAttribute & AutofocusAttribute & AutoplayAttribute & CharsetAttribute & CheckedAttribute & CiteAttribute & ClassAttribute & ColumnsAttribute & ColumnSpanAttribute & ContentAttribute & EditAttribute & ControlsAttribute & CoordinatesAttribute & DataAttribute & DateTimeAttribute & DefaultAttribute & DeferAttribute & DirectionAttribute & DisabledAttribute & DownloadAttribute & DragAttribute & EncodingAttribute & EnterKeyAttribute & ForAttribute & FormAttribute & FormActionAttribute & EquivalentAttribute & HeadersAttribute & HeightAttribute & HiddenAttribute & HighAttribute & ReferenceAttribute & ReferenceLanguageAttribute & IdentifierAttribute & IsMapAttribute & InputModeAttribute & IsAttribute & ItemAttribute & ItemPropertyAttribute & KindAttribute & LabelAttribute & LanguageAttribute & ListAttribute & LoopAttribute & LowAttribute & MaximumValueAttribute & MaximumLengthAttribute & MediaAttribute & MethodAttribute & MinimumValueAttribute & MinimumLengthAttribute & MultipleAttribute & MutedAttribute & NameAttribute & NonceAttribute & NoValidateAttribute & OpenAttribute & OptimumAttribute & PatternAttribute & PartAttribute & PingAttribute & PlaceholderAttribute & PosterAttribute & PreloadAttribute & ReadOnlyAttribute & ReferrerPolicyAttribute & RelationshipAttribute & RequiredAttribute & ReversedAttribute & RoleAttribute & RowsAttribute & RowSpanAttribute & SandboxAttribute & ScopeAttribute & ShapeAttribute & SizeAttribute & SizesAttribute & SlotAttribute & SpanAttribute & SpellCheckAttribute & SourceAttribute & StartAttribute & StepAttribute & StyleAttribute & TabulatorAttribute & TargetAttribute & TitleAttribute & TranslateAttribute & TypeAttribute & ValueAttribute & WidthAttribute & WrapAttribute & PropertyAttribute & SelectedAttribute & WindowEventAttribute & FocusEventAttribute & PointerEventAttribute & MouseEventAttribute & WheelEventAttribute & InputEventAttribute & KeyboardEventAttribute & DragEventAttribute & ClipboardEventAttribute & SelectionEventAttribute & MediaEventAttribute & FormEventAttribute & DetailEventAttribute & AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & AriaDisabledAttribute & AriaErrorMessageAttribute & FlowAccessibilityAttribute & AriaPopupAttribute & AriaHiddenAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & LabelAccessibilityAttribute & AriaLabeledAttribute & AriaLiveAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute & SortAccessibilityAttribute & DrawAttribute & FillAttribute & FillOpacityAttribute & StrokeAttribute & StrokeWidthAttribute & StrokeOpacityAttribute & StrokeLineCapAttribute & StrokeLineJoinAttribute & RadiusAttribute & PositionPointAttribute & RadiusPointAttribute & CenterPointAttribute & ViewBoxAttribute & NamespaceAttribute & PointsAttribute & ShadowRootModeAttribute & InertAttribute & FetchPriorityAttribute & LoadingAttribute & SourceSetAttribute & DecodingAttribute & BlockingAttribute & PopoverAttribute & PopoverTargetAttribute & PopoverActionAttribute & UseMapAttribute & PlaysInlineAttribute & IntegrityAttribute & AsAttribute & CrossOriginAttribute & SourceLanguageAttribute & SourceDocumentAttribute + typealias AllAttributes = AccessKeyAttribute & AcceptAttribute & ActionAttribute & AlternateAttribute & AsynchronouslyAttribute & AutocapitalizeAttribute & AutocompleteAttribute & AutofocusAttribute & AutoplayAttribute & CharsetAttribute & CheckedAttribute & CiteAttribute & ClassAttribute & ColumnsAttribute & ColumnSpanAttribute & ContentAttribute & EditAttribute & ControlsAttribute & CoordinatesAttribute & DataAttribute & DateTimeAttribute & DefaultAttribute & DeferAttribute & DirectionAttribute & DisabledAttribute & DownloadAttribute & DragAttribute & EncodingAttribute & EnterKeyAttribute & ForAttribute & FormAttribute & FormActionAttribute & EquivalentAttribute & HeadersAttribute & HeightAttribute & HiddenAttribute & HighAttribute & ReferenceAttribute & ReferenceLanguageAttribute & IdentifierAttribute & IsMapAttribute & InputModeAttribute & IsAttribute & ItemAttribute & ItemPropertyAttribute & KindAttribute & LabelAttribute & LanguageAttribute & ListAttribute & LoopAttribute & LowAttribute & MaximumValueAttribute & MaximumLengthAttribute & MediaAttribute & MethodAttribute & MinimumValueAttribute & MinimumLengthAttribute & MultipleAttribute & MutedAttribute & NameAttribute & NonceAttribute & NoValidateAttribute & OpenAttribute & OptimumAttribute & PatternAttribute & PartAttribute & PingAttribute & PlaceholderAttribute & PosterAttribute & PreloadAttribute & ReadOnlyAttribute & ReferrerPolicyAttribute & RelationshipAttribute & RequiredAttribute & ReversedAttribute & RoleAttribute & RowsAttribute & RowSpanAttribute & SandboxAttribute & ScopeAttribute & ShapeAttribute & SizeAttribute & SizesAttribute & SlotAttribute & SpanAttribute & SpellCheckAttribute & SourceAttribute & StartAttribute & StepAttribute & StyleAttribute & TabulatorAttribute & TargetAttribute & TitleAttribute & TranslateAttribute & TypeAttribute & ValueAttribute & WidthAttribute & WrapAttribute & PropertyAttribute & SelectedAttribute & WindowEventAttribute & FocusEventAttribute & PointerEventAttribute & MouseEventAttribute & WheelEventAttribute & InputEventAttribute & KeyboardEventAttribute & DragEventAttribute & ClipboardEventAttribute & SelectionEventAttribute & MediaEventAttribute & FormEventAttribute & DetailEventAttribute & AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & AriaDisabledAttribute & AriaErrorMessageAttribute & FlowAccessibilityAttribute & AriaPopupAttribute & AriaHiddenAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & LabelAccessibilityAttribute & AriaLabeledAttribute & AriaLiveAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute & SortAccessibilityAttribute & OrientationAccessibilityAttribute & DrawAttribute & FillAttribute & FillOpacityAttribute & StrokeAttribute & StrokeWidthAttribute & StrokeOpacityAttribute & StrokeLineCapAttribute & StrokeLineJoinAttribute & RadiusAttribute & PositionPointAttribute & RadiusPointAttribute & CenterPointAttribute & ViewBoxAttribute & NamespaceAttribute & PointsAttribute & ShadowRootModeAttribute & InertAttribute & FetchPriorityAttribute & LoadingAttribute & SourceSetAttribute & DecodingAttribute & BlockingAttribute & PopoverAttribute & PopoverTargetAttribute & PopoverActionAttribute & UseMapAttribute & PlaysInlineAttribute & IntegrityAttribute & AsAttribute & CrossOriginAttribute & SourceLanguageAttribute & SourceDocumentAttribute struct Tag: ContentNode, GlobalElement, AllAttributes { @@ -1024,6 +1024,10 @@ final class AttributesTests: XCTestCase { return mutate(ariasort: .init(value.rawValue, context: .trusted)) } + func accessibilityOrientation(_ value: Values.Accessibility.Orientation) -> Tag { + return mutate(ariaorientation: .init(value.rawValue, context: .trusted)) + } + func shadowRootMode(_ value: Values.Shadow.Mode) -> Tag { return mutate(shadowrootmode: .init(value.rawValue, context: .trusted)) } @@ -3042,6 +3046,23 @@ final class AttributesTests: XCTestCase { ) } + func testOrientationAccessibilityAttribute() throws { + + let view = TestView { + Tag {}.accessibilityOrientation(.horizontal) + Tag {}.accessibilityOrientation(.vertical) + Tag {}.accessibilityOrientation(.undefined) + } + + XCTAssertEqual(try renderer.render(view: view), + """ + \ + \ + + """ + ) + } + func testDrawAttribute() throws { let view = TestView { From 9d01d39286ef4ce864839c5394b379e68c28c983 Mon Sep 17 00:00:00 2001 From: Mattes Mohr Date: Thu, 19 Feb 2026 20:57:35 +0100 Subject: [PATCH 05/12] Revise the required attribute --- .../Attributes/AriaAttributes.swift | 27 +++++++++++++------ .../Abstraction/Elements/BodyElements.swift | 20 +++++++++++--- .../Abstraction/Elements/ListElements.swift | 6 ++++- Tests/HTMLKitTests/AttributesTests.swift | 23 +++++++++++++++- 4 files changed, 62 insertions(+), 14 deletions(-) diff --git a/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift b/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift index ad170ca1..a3be0bfa 100644 --- a/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift +++ b/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift @@ -965,26 +965,37 @@ extension AriaRelevantAttribute where Self: EmptyNode { } } -/// The protocol provides the element with accessibility handler. +/// A type that provides the `accessibilityRequired` modifier. @_documentation(visibility: internal) -public protocol AriaRequiredAttribute: Attribute { +public protocol RequiredAccessibilityAttribute: Attribute { - /// The function represents the html-attribute 'aria-required'. + /// Indicate that input is required on the element. /// - /// ```html - /// + /// ```swift + /// UnorderedList { + /// ListItem { + /// "Lorem ipsum" + /// } + /// .role(radio) + /// } + /// .role(.radiogroup) + /// .accessibilityRequired(true) /// ``` - func aria(required value: Bool) -> Self + /// + /// - Parameter condition: TODO + /// + /// - Returns: The element + func accessibilityRequired(_ value: Bool) -> Self } -extension AriaRequiredAttribute where Self: ContentNode { +extension RequiredAccessibilityAttribute where Self: ContentNode { internal func mutate(ariarequired value: AttributeData) -> Self { return self.mutate(key: "aria-required", value: value) } } -extension AriaRequiredAttribute where Self: EmptyNode { +extension RequiredAccessibilityAttribute where Self: EmptyNode { internal func mutate(ariarequired value: AttributeData) -> Self { return self.mutate(key: "aria-required", value: value) diff --git a/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift b/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift index 57fec9f4..3b5fdd04 100644 --- a/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift @@ -6135,8 +6135,8 @@ public struct Paragraph: ContentNode, HtmlElement, BodyElement, FormElement, Fig } } -extension Paragraph: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { - +extension Paragraph: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, RequiredAccessibilityAttribute { + public func accessKey(_ value: Character) -> Paragraph { return mutate(accesskey: .init("\(value)", context: .trusted)) } @@ -6483,6 +6483,10 @@ extension Paragraph: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut public func aria(roleDescription value: String) -> Paragraph { return mutate(ariaroledescription: .init(value, context: .tainted(.html))) } + + public func accessibilityRequired(_ value: Bool = true) -> Paragraph { + return mutate(ariarequired: .init(value, context: .trusted)) + } } extension Paragraph: Localizable { @@ -12645,7 +12649,7 @@ public struct Division: ContentNode, HtmlElement, BodyElement, FormElement, Figu } } -extension Division: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, OrientationAccessibilityAttribute { +extension Division: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, OrientationAccessibilityAttribute, RequiredAccessibilityAttribute { public func accessKey(_ value: Character) -> Division { return mutate(accesskey: .init("\(value)", context: .trusted)) @@ -12997,6 +13001,10 @@ extension Division: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute public func accessibilityOrientation(_ value: Values.Accessibility.Orientation) -> Division { return mutate(ariaorientation: .init(value.rawValue, context: .trusted)) } + + public func accessibilityRequired(_ value: Bool = true) -> Division { + return mutate(ariarequired: .init(value, context: .trusted)) + } } /// An element that represents a term definition. @@ -21093,7 +21101,7 @@ public struct Span: ContentNode, HtmlElement, BodyElement, FormElement, FigureEl } } -extension Span: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, OrientationAccessibilityAttribute { +extension Span: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, OrientationAccessibilityAttribute, RequiredAccessibilityAttribute { public func accessKey(_ value: Character) -> Span { return mutate(accesskey: .init("\(value)", context: .trusted)) @@ -21445,6 +21453,10 @@ extension Span: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, O public func accessibilityOrientation(_ value: Values.Accessibility.Orientation) -> Span { return mutate(ariaorientation: .init(value.rawValue, context: .trusted)) } + + public func accessibilityRequired(_ value: Bool = true) -> Span { + return mutate(ariarequired: .init(value, context: .trusted)) + } } /// An element that represents a line break. diff --git a/Sources/HTMLKit/Abstraction/Elements/ListElements.swift b/Sources/HTMLKit/Abstraction/Elements/ListElements.swift index e998a1ef..7e66c3fc 100644 --- a/Sources/HTMLKit/Abstraction/Elements/ListElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/ListElements.swift @@ -77,7 +77,7 @@ public struct ListItem: ContentNode, ListElement { } } -extension ListItem: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, ValueAttribute { +extension ListItem: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, ValueAttribute, RequiredAccessibilityAttribute { public func accessKey(_ value: Character) -> ListItem { return mutate(accesskey: .init("\(value)", context: .trusted)) @@ -438,4 +438,8 @@ extension ListItem: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute public func aria(roleDescription value: String) -> ListItem { return mutate(ariaroledescription: .init(value, context: .tainted(.html))) } + + public func accessibilityRequired(_ value: Bool = true) -> ListItem { + return mutate(ariarequired: .init(value, context: .trusted)) + } } diff --git a/Tests/HTMLKitTests/AttributesTests.swift b/Tests/HTMLKitTests/AttributesTests.swift index 83bbe260..b342ff3e 100644 --- a/Tests/HTMLKitTests/AttributesTests.swift +++ b/Tests/HTMLKitTests/AttributesTests.swift @@ -15,7 +15,7 @@ final class AttributesTests: XCTestCase { @ContentBuilder var body: Content } - typealias AllAttributes = AccessKeyAttribute & AcceptAttribute & ActionAttribute & AlternateAttribute & AsynchronouslyAttribute & AutocapitalizeAttribute & AutocompleteAttribute & AutofocusAttribute & AutoplayAttribute & CharsetAttribute & CheckedAttribute & CiteAttribute & ClassAttribute & ColumnsAttribute & ColumnSpanAttribute & ContentAttribute & EditAttribute & ControlsAttribute & CoordinatesAttribute & DataAttribute & DateTimeAttribute & DefaultAttribute & DeferAttribute & DirectionAttribute & DisabledAttribute & DownloadAttribute & DragAttribute & EncodingAttribute & EnterKeyAttribute & ForAttribute & FormAttribute & FormActionAttribute & EquivalentAttribute & HeadersAttribute & HeightAttribute & HiddenAttribute & HighAttribute & ReferenceAttribute & ReferenceLanguageAttribute & IdentifierAttribute & IsMapAttribute & InputModeAttribute & IsAttribute & ItemAttribute & ItemPropertyAttribute & KindAttribute & LabelAttribute & LanguageAttribute & ListAttribute & LoopAttribute & LowAttribute & MaximumValueAttribute & MaximumLengthAttribute & MediaAttribute & MethodAttribute & MinimumValueAttribute & MinimumLengthAttribute & MultipleAttribute & MutedAttribute & NameAttribute & NonceAttribute & NoValidateAttribute & OpenAttribute & OptimumAttribute & PatternAttribute & PartAttribute & PingAttribute & PlaceholderAttribute & PosterAttribute & PreloadAttribute & ReadOnlyAttribute & ReferrerPolicyAttribute & RelationshipAttribute & RequiredAttribute & ReversedAttribute & RoleAttribute & RowsAttribute & RowSpanAttribute & SandboxAttribute & ScopeAttribute & ShapeAttribute & SizeAttribute & SizesAttribute & SlotAttribute & SpanAttribute & SpellCheckAttribute & SourceAttribute & StartAttribute & StepAttribute & StyleAttribute & TabulatorAttribute & TargetAttribute & TitleAttribute & TranslateAttribute & TypeAttribute & ValueAttribute & WidthAttribute & WrapAttribute & PropertyAttribute & SelectedAttribute & WindowEventAttribute & FocusEventAttribute & PointerEventAttribute & MouseEventAttribute & WheelEventAttribute & InputEventAttribute & KeyboardEventAttribute & DragEventAttribute & ClipboardEventAttribute & SelectionEventAttribute & MediaEventAttribute & FormEventAttribute & DetailEventAttribute & AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & AriaDisabledAttribute & AriaErrorMessageAttribute & FlowAccessibilityAttribute & AriaPopupAttribute & AriaHiddenAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & LabelAccessibilityAttribute & AriaLabeledAttribute & AriaLiveAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute & SortAccessibilityAttribute & OrientationAccessibilityAttribute & DrawAttribute & FillAttribute & FillOpacityAttribute & StrokeAttribute & StrokeWidthAttribute & StrokeOpacityAttribute & StrokeLineCapAttribute & StrokeLineJoinAttribute & RadiusAttribute & PositionPointAttribute & RadiusPointAttribute & CenterPointAttribute & ViewBoxAttribute & NamespaceAttribute & PointsAttribute & ShadowRootModeAttribute & InertAttribute & FetchPriorityAttribute & LoadingAttribute & SourceSetAttribute & DecodingAttribute & BlockingAttribute & PopoverAttribute & PopoverTargetAttribute & PopoverActionAttribute & UseMapAttribute & PlaysInlineAttribute & IntegrityAttribute & AsAttribute & CrossOriginAttribute & SourceLanguageAttribute & SourceDocumentAttribute + typealias AllAttributes = AccessKeyAttribute & AcceptAttribute & ActionAttribute & AlternateAttribute & AsynchronouslyAttribute & AutocapitalizeAttribute & AutocompleteAttribute & AutofocusAttribute & AutoplayAttribute & CharsetAttribute & CheckedAttribute & CiteAttribute & ClassAttribute & ColumnsAttribute & ColumnSpanAttribute & ContentAttribute & EditAttribute & ControlsAttribute & CoordinatesAttribute & DataAttribute & DateTimeAttribute & DefaultAttribute & DeferAttribute & DirectionAttribute & DisabledAttribute & DownloadAttribute & DragAttribute & EncodingAttribute & EnterKeyAttribute & ForAttribute & FormAttribute & FormActionAttribute & EquivalentAttribute & HeadersAttribute & HeightAttribute & HiddenAttribute & HighAttribute & ReferenceAttribute & ReferenceLanguageAttribute & IdentifierAttribute & IsMapAttribute & InputModeAttribute & IsAttribute & ItemAttribute & ItemPropertyAttribute & KindAttribute & LabelAttribute & LanguageAttribute & ListAttribute & LoopAttribute & LowAttribute & MaximumValueAttribute & MaximumLengthAttribute & MediaAttribute & MethodAttribute & MinimumValueAttribute & MinimumLengthAttribute & MultipleAttribute & MutedAttribute & NameAttribute & NonceAttribute & NoValidateAttribute & OpenAttribute & OptimumAttribute & PatternAttribute & PartAttribute & PingAttribute & PlaceholderAttribute & PosterAttribute & PreloadAttribute & ReadOnlyAttribute & ReferrerPolicyAttribute & RelationshipAttribute & RequiredAttribute & ReversedAttribute & RoleAttribute & RowsAttribute & RowSpanAttribute & SandboxAttribute & ScopeAttribute & ShapeAttribute & SizeAttribute & SizesAttribute & SlotAttribute & SpanAttribute & SpellCheckAttribute & SourceAttribute & StartAttribute & StepAttribute & StyleAttribute & TabulatorAttribute & TargetAttribute & TitleAttribute & TranslateAttribute & TypeAttribute & ValueAttribute & WidthAttribute & WrapAttribute & PropertyAttribute & SelectedAttribute & WindowEventAttribute & FocusEventAttribute & PointerEventAttribute & MouseEventAttribute & WheelEventAttribute & InputEventAttribute & KeyboardEventAttribute & DragEventAttribute & ClipboardEventAttribute & SelectionEventAttribute & MediaEventAttribute & FormEventAttribute & DetailEventAttribute & AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & AriaDisabledAttribute & AriaErrorMessageAttribute & FlowAccessibilityAttribute & AriaPopupAttribute & AriaHiddenAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & LabelAccessibilityAttribute & AriaLabeledAttribute & AriaLiveAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute & SortAccessibilityAttribute & OrientationAccessibilityAttribute & RequiredAccessibilityAttribute & DrawAttribute & FillAttribute & FillOpacityAttribute & StrokeAttribute & StrokeWidthAttribute & StrokeOpacityAttribute & StrokeLineCapAttribute & StrokeLineJoinAttribute & RadiusAttribute & PositionPointAttribute & RadiusPointAttribute & CenterPointAttribute & ViewBoxAttribute & NamespaceAttribute & PointsAttribute & ShadowRootModeAttribute & InertAttribute & FetchPriorityAttribute & LoadingAttribute & SourceSetAttribute & DecodingAttribute & BlockingAttribute & PopoverAttribute & PopoverTargetAttribute & PopoverActionAttribute & UseMapAttribute & PlaysInlineAttribute & IntegrityAttribute & AsAttribute & CrossOriginAttribute & SourceLanguageAttribute & SourceDocumentAttribute struct Tag: ContentNode, GlobalElement, AllAttributes { @@ -1028,6 +1028,10 @@ final class AttributesTests: XCTestCase { return mutate(ariaorientation: .init(value.rawValue, context: .trusted)) } + func accessibilityRequired(_ value: Bool = true) -> Tag { + return mutate(ariarequired: .init(value, context: .trusted)) + } + func shadowRootMode(_ value: Values.Shadow.Mode) -> Tag { return mutate(shadowrootmode: .init(value.rawValue, context: .trusted)) } @@ -3063,6 +3067,23 @@ final class AttributesTests: XCTestCase { ) } + func testRequiredAccessibilityAttribute() throws { + + let view = TestView { + Tag {}.accessibilityRequired() + Tag {}.accessibilityRequired(false) + Tag {}.accessibilityRequired(true) + } + + XCTAssertEqual(try renderer.render(view: view), + """ + \ + \ + + """ + ) + } + func testDrawAttribute() throws { let view = TestView { From 7a0547182caec14712f3c20c42f06a71532c3b75 Mon Sep 17 00:00:00 2001 From: Mattes Mohr Date: Thu, 19 Feb 2026 21:49:38 +0100 Subject: [PATCH 06/12] Revise the readonly attribute --- .../Attributes/AriaAttributes.swift | 23 ++++++++++++------- .../Abstraction/Elements/BodyElements.swift | 12 ++++++++-- Tests/HTMLKitTests/AttributesTests.swift | 23 ++++++++++++++++++- 3 files changed, 47 insertions(+), 11 deletions(-) diff --git a/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift b/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift index a3be0bfa..4e1ac353 100644 --- a/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift +++ b/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift @@ -913,26 +913,33 @@ extension AriaPressedAttribute where Self: EmptyNode { } } -/// The protocol provides the element with accessibility handler. +/// A type that provides the `accessibilityReadonly` modifier. @_documentation(visibility: internal) -public protocol AriaReadonlyAttribute: Attribute { +public protocol ReadOnlyAccessibilityAttribute: Attribute { - /// The function represents the html-attribute 'aria-readonly'. + /// Indicate the element as read only. /// - /// ```html - /// + /// ```swift + /// Division { + /// } + /// .role(.checkbox) + /// .accessibilityReadonly(true) /// ``` - func aria(readonly value: Bool) -> Self + /// + /// - Parameter value: Whether the element should be read only. + /// + /// - Returns: The element + func accessibilityReadonly(_ value: Bool) -> Self } -extension AriaReadonlyAttribute where Self: ContentNode { +extension ReadOnlyAccessibilityAttribute where Self: ContentNode { internal func mutate(ariareadonly value: AttributeData) -> Self { return self.mutate(key: "aria-readonly", value: value) } } -extension AriaReadonlyAttribute where Self: EmptyNode { +extension ReadOnlyAccessibilityAttribute where Self: EmptyNode { internal func mutate(ariareadonly value: AttributeData) -> Self { return self.mutate(key: "aria-readonly", value: value) diff --git a/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift b/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift index 3b5fdd04..6cca3776 100644 --- a/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift @@ -12649,7 +12649,7 @@ public struct Division: ContentNode, HtmlElement, BodyElement, FormElement, Figu } } -extension Division: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, OrientationAccessibilityAttribute, RequiredAccessibilityAttribute { +extension Division: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, OrientationAccessibilityAttribute, RequiredAccessibilityAttribute, ReadOnlyAccessibilityAttribute { public func accessKey(_ value: Character) -> Division { return mutate(accesskey: .init("\(value)", context: .trusted)) @@ -13005,6 +13005,10 @@ extension Division: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute public func accessibilityRequired(_ value: Bool = true) -> Division { return mutate(ariarequired: .init(value, context: .trusted)) } + + public func accessibilityReadonly(_ value: Bool = true) -> Division { + return mutate(ariareadonly: .init(value, context: .trusted)) + } } /// An element that represents a term definition. @@ -21101,7 +21105,7 @@ public struct Span: ContentNode, HtmlElement, BodyElement, FormElement, FigureEl } } -extension Span: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, OrientationAccessibilityAttribute, RequiredAccessibilityAttribute { +extension Span: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, OrientationAccessibilityAttribute, RequiredAccessibilityAttribute, ReadOnlyAccessibilityAttribute { public func accessKey(_ value: Character) -> Span { return mutate(accesskey: .init("\(value)", context: .trusted)) @@ -21457,6 +21461,10 @@ extension Span: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, O public func accessibilityRequired(_ value: Bool = true) -> Span { return mutate(ariarequired: .init(value, context: .trusted)) } + + public func accessibilityReadonly(_ value: Bool = true) -> Span { + return mutate(ariareadonly: .init(value, context: .trusted)) + } } /// An element that represents a line break. diff --git a/Tests/HTMLKitTests/AttributesTests.swift b/Tests/HTMLKitTests/AttributesTests.swift index b342ff3e..c5f38a2e 100644 --- a/Tests/HTMLKitTests/AttributesTests.swift +++ b/Tests/HTMLKitTests/AttributesTests.swift @@ -15,7 +15,7 @@ final class AttributesTests: XCTestCase { @ContentBuilder var body: Content } - typealias AllAttributes = AccessKeyAttribute & AcceptAttribute & ActionAttribute & AlternateAttribute & AsynchronouslyAttribute & AutocapitalizeAttribute & AutocompleteAttribute & AutofocusAttribute & AutoplayAttribute & CharsetAttribute & CheckedAttribute & CiteAttribute & ClassAttribute & ColumnsAttribute & ColumnSpanAttribute & ContentAttribute & EditAttribute & ControlsAttribute & CoordinatesAttribute & DataAttribute & DateTimeAttribute & DefaultAttribute & DeferAttribute & DirectionAttribute & DisabledAttribute & DownloadAttribute & DragAttribute & EncodingAttribute & EnterKeyAttribute & ForAttribute & FormAttribute & FormActionAttribute & EquivalentAttribute & HeadersAttribute & HeightAttribute & HiddenAttribute & HighAttribute & ReferenceAttribute & ReferenceLanguageAttribute & IdentifierAttribute & IsMapAttribute & InputModeAttribute & IsAttribute & ItemAttribute & ItemPropertyAttribute & KindAttribute & LabelAttribute & LanguageAttribute & ListAttribute & LoopAttribute & LowAttribute & MaximumValueAttribute & MaximumLengthAttribute & MediaAttribute & MethodAttribute & MinimumValueAttribute & MinimumLengthAttribute & MultipleAttribute & MutedAttribute & NameAttribute & NonceAttribute & NoValidateAttribute & OpenAttribute & OptimumAttribute & PatternAttribute & PartAttribute & PingAttribute & PlaceholderAttribute & PosterAttribute & PreloadAttribute & ReadOnlyAttribute & ReferrerPolicyAttribute & RelationshipAttribute & RequiredAttribute & ReversedAttribute & RoleAttribute & RowsAttribute & RowSpanAttribute & SandboxAttribute & ScopeAttribute & ShapeAttribute & SizeAttribute & SizesAttribute & SlotAttribute & SpanAttribute & SpellCheckAttribute & SourceAttribute & StartAttribute & StepAttribute & StyleAttribute & TabulatorAttribute & TargetAttribute & TitleAttribute & TranslateAttribute & TypeAttribute & ValueAttribute & WidthAttribute & WrapAttribute & PropertyAttribute & SelectedAttribute & WindowEventAttribute & FocusEventAttribute & PointerEventAttribute & MouseEventAttribute & WheelEventAttribute & InputEventAttribute & KeyboardEventAttribute & DragEventAttribute & ClipboardEventAttribute & SelectionEventAttribute & MediaEventAttribute & FormEventAttribute & DetailEventAttribute & AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & AriaDisabledAttribute & AriaErrorMessageAttribute & FlowAccessibilityAttribute & AriaPopupAttribute & AriaHiddenAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & LabelAccessibilityAttribute & AriaLabeledAttribute & AriaLiveAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute & SortAccessibilityAttribute & OrientationAccessibilityAttribute & RequiredAccessibilityAttribute & DrawAttribute & FillAttribute & FillOpacityAttribute & StrokeAttribute & StrokeWidthAttribute & StrokeOpacityAttribute & StrokeLineCapAttribute & StrokeLineJoinAttribute & RadiusAttribute & PositionPointAttribute & RadiusPointAttribute & CenterPointAttribute & ViewBoxAttribute & NamespaceAttribute & PointsAttribute & ShadowRootModeAttribute & InertAttribute & FetchPriorityAttribute & LoadingAttribute & SourceSetAttribute & DecodingAttribute & BlockingAttribute & PopoverAttribute & PopoverTargetAttribute & PopoverActionAttribute & UseMapAttribute & PlaysInlineAttribute & IntegrityAttribute & AsAttribute & CrossOriginAttribute & SourceLanguageAttribute & SourceDocumentAttribute + typealias AllAttributes = AccessKeyAttribute & AcceptAttribute & ActionAttribute & AlternateAttribute & AsynchronouslyAttribute & AutocapitalizeAttribute & AutocompleteAttribute & AutofocusAttribute & AutoplayAttribute & CharsetAttribute & CheckedAttribute & CiteAttribute & ClassAttribute & ColumnsAttribute & ColumnSpanAttribute & ContentAttribute & EditAttribute & ControlsAttribute & CoordinatesAttribute & DataAttribute & DateTimeAttribute & DefaultAttribute & DeferAttribute & DirectionAttribute & DisabledAttribute & DownloadAttribute & DragAttribute & EncodingAttribute & EnterKeyAttribute & ForAttribute & FormAttribute & FormActionAttribute & EquivalentAttribute & HeadersAttribute & HeightAttribute & HiddenAttribute & HighAttribute & ReferenceAttribute & ReferenceLanguageAttribute & IdentifierAttribute & IsMapAttribute & InputModeAttribute & IsAttribute & ItemAttribute & ItemPropertyAttribute & KindAttribute & LabelAttribute & LanguageAttribute & ListAttribute & LoopAttribute & LowAttribute & MaximumValueAttribute & MaximumLengthAttribute & MediaAttribute & MethodAttribute & MinimumValueAttribute & MinimumLengthAttribute & MultipleAttribute & MutedAttribute & NameAttribute & NonceAttribute & NoValidateAttribute & OpenAttribute & OptimumAttribute & PatternAttribute & PartAttribute & PingAttribute & PlaceholderAttribute & PosterAttribute & PreloadAttribute & ReadOnlyAttribute & ReferrerPolicyAttribute & RelationshipAttribute & RequiredAttribute & ReversedAttribute & RoleAttribute & RowsAttribute & RowSpanAttribute & SandboxAttribute & ScopeAttribute & ShapeAttribute & SizeAttribute & SizesAttribute & SlotAttribute & SpanAttribute & SpellCheckAttribute & SourceAttribute & StartAttribute & StepAttribute & StyleAttribute & TabulatorAttribute & TargetAttribute & TitleAttribute & TranslateAttribute & TypeAttribute & ValueAttribute & WidthAttribute & WrapAttribute & PropertyAttribute & SelectedAttribute & WindowEventAttribute & FocusEventAttribute & PointerEventAttribute & MouseEventAttribute & WheelEventAttribute & InputEventAttribute & KeyboardEventAttribute & DragEventAttribute & ClipboardEventAttribute & SelectionEventAttribute & MediaEventAttribute & FormEventAttribute & DetailEventAttribute & AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & AriaDisabledAttribute & AriaErrorMessageAttribute & FlowAccessibilityAttribute & AriaPopupAttribute & AriaHiddenAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & LabelAccessibilityAttribute & AriaLabeledAttribute & AriaLiveAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute & SortAccessibilityAttribute & OrientationAccessibilityAttribute & RequiredAccessibilityAttribute & ReadOnlyAccessibilityAttribute & DrawAttribute & FillAttribute & FillOpacityAttribute & StrokeAttribute & StrokeWidthAttribute & StrokeOpacityAttribute & StrokeLineCapAttribute & StrokeLineJoinAttribute & RadiusAttribute & PositionPointAttribute & RadiusPointAttribute & CenterPointAttribute & ViewBoxAttribute & NamespaceAttribute & PointsAttribute & ShadowRootModeAttribute & InertAttribute & FetchPriorityAttribute & LoadingAttribute & SourceSetAttribute & DecodingAttribute & BlockingAttribute & PopoverAttribute & PopoverTargetAttribute & PopoverActionAttribute & UseMapAttribute & PlaysInlineAttribute & IntegrityAttribute & AsAttribute & CrossOriginAttribute & SourceLanguageAttribute & SourceDocumentAttribute struct Tag: ContentNode, GlobalElement, AllAttributes { @@ -1032,6 +1032,10 @@ final class AttributesTests: XCTestCase { return mutate(ariarequired: .init(value, context: .trusted)) } + func accessibilityReadonly(_ value: Bool = true) -> Tag { + return mutate(ariareadonly: .init(value, context: .trusted)) + } + func shadowRootMode(_ value: Values.Shadow.Mode) -> Tag { return mutate(shadowrootmode: .init(value.rawValue, context: .trusted)) } @@ -3084,6 +3088,23 @@ final class AttributesTests: XCTestCase { ) } + func testReadOnlyAccessibilityAttribute() throws { + + let view = TestView { + Tag {}.accessibilityReadonly() + Tag {}.accessibilityReadonly(false) + Tag {}.accessibilityReadonly(true) + } + + XCTAssertEqual(try renderer.render(view: view), + """ + \ + \ + + """ + ) + } + func testDrawAttribute() throws { let view = TestView { From 724fcb588dc8043cb11b39b1806c06297e1a6be3 Mon Sep 17 00:00:00 2001 From: Mattes Mohr Date: Fri, 20 Feb 2026 18:26:59 +0100 Subject: [PATCH 07/12] Revise the modal attribute --- .../Attributes/AriaAttributes.swift | 24 ++++++++++++------- .../Abstraction/Elements/BodyElements.swift | 6 ++++- Tests/HTMLKitTests/AttributesTests.swift | 23 +++++++++++++++++- 3 files changed, 42 insertions(+), 11 deletions(-) diff --git a/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift b/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift index 4e1ac353..e22ea703 100644 --- a/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift +++ b/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift @@ -699,26 +699,32 @@ extension AriaLiveAttribute where Self: EmptyNode { } } -/// The protocol provides the element with accessibility handler. +/// A type that provides the `accessibilityModal` modifier. @_documentation(visibility: internal) -public protocol AriaModalAttribute: Attribute { +public protocol ModalAccessibilityAttribute: Attribute { - /// The function represents the html-attribute 'aria-modal'. - /// - /// ```html - /// + /// Indicate whether an element is modal when displayed. + /// + /// ```swift + /// Divsion { + /// } + /// .role(.dialog) + /// .accessibilityModal(true) /// ``` - func aria(modal value: Bool) -> Self + /// - Parameter value: Whether the element is a modal. + /// + /// - Returns: The element + func accessibilityModal(_ value: Bool) -> Self } -extension AriaModalAttribute where Self: ContentNode { +extension ModalAccessibilityAttribute where Self: ContentNode { internal func mutate(ariamodal value: AttributeData) -> Self { return self.mutate(key: "aria-modal", value: value) } } -extension AriaModalAttribute where Self: EmptyNode { +extension ModalAccessibilityAttribute where Self: EmptyNode { internal func mutate(ariamodal value: AttributeData) -> Self { return self.mutate(key: "aria-modal", value: value) diff --git a/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift b/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift index 6cca3776..92e9ccdc 100644 --- a/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift @@ -12649,7 +12649,7 @@ public struct Division: ContentNode, HtmlElement, BodyElement, FormElement, Figu } } -extension Division: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, OrientationAccessibilityAttribute, RequiredAccessibilityAttribute, ReadOnlyAccessibilityAttribute { +extension Division: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, OrientationAccessibilityAttribute, RequiredAccessibilityAttribute, ReadOnlyAccessibilityAttribute, ModalAccessibilityAttribute { public func accessKey(_ value: Character) -> Division { return mutate(accesskey: .init("\(value)", context: .trusted)) @@ -13009,6 +13009,10 @@ extension Division: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute public func accessibilityReadonly(_ value: Bool = true) -> Division { return mutate(ariareadonly: .init(value, context: .trusted)) } + + public func accessibilityModal(_ value: Bool = true) -> Division { + return mutate(ariamodal: .init(value, context: .trusted)) + } } /// An element that represents a term definition. diff --git a/Tests/HTMLKitTests/AttributesTests.swift b/Tests/HTMLKitTests/AttributesTests.swift index c5f38a2e..d16355a9 100644 --- a/Tests/HTMLKitTests/AttributesTests.swift +++ b/Tests/HTMLKitTests/AttributesTests.swift @@ -15,7 +15,7 @@ final class AttributesTests: XCTestCase { @ContentBuilder var body: Content } - typealias AllAttributes = AccessKeyAttribute & AcceptAttribute & ActionAttribute & AlternateAttribute & AsynchronouslyAttribute & AutocapitalizeAttribute & AutocompleteAttribute & AutofocusAttribute & AutoplayAttribute & CharsetAttribute & CheckedAttribute & CiteAttribute & ClassAttribute & ColumnsAttribute & ColumnSpanAttribute & ContentAttribute & EditAttribute & ControlsAttribute & CoordinatesAttribute & DataAttribute & DateTimeAttribute & DefaultAttribute & DeferAttribute & DirectionAttribute & DisabledAttribute & DownloadAttribute & DragAttribute & EncodingAttribute & EnterKeyAttribute & ForAttribute & FormAttribute & FormActionAttribute & EquivalentAttribute & HeadersAttribute & HeightAttribute & HiddenAttribute & HighAttribute & ReferenceAttribute & ReferenceLanguageAttribute & IdentifierAttribute & IsMapAttribute & InputModeAttribute & IsAttribute & ItemAttribute & ItemPropertyAttribute & KindAttribute & LabelAttribute & LanguageAttribute & ListAttribute & LoopAttribute & LowAttribute & MaximumValueAttribute & MaximumLengthAttribute & MediaAttribute & MethodAttribute & MinimumValueAttribute & MinimumLengthAttribute & MultipleAttribute & MutedAttribute & NameAttribute & NonceAttribute & NoValidateAttribute & OpenAttribute & OptimumAttribute & PatternAttribute & PartAttribute & PingAttribute & PlaceholderAttribute & PosterAttribute & PreloadAttribute & ReadOnlyAttribute & ReferrerPolicyAttribute & RelationshipAttribute & RequiredAttribute & ReversedAttribute & RoleAttribute & RowsAttribute & RowSpanAttribute & SandboxAttribute & ScopeAttribute & ShapeAttribute & SizeAttribute & SizesAttribute & SlotAttribute & SpanAttribute & SpellCheckAttribute & SourceAttribute & StartAttribute & StepAttribute & StyleAttribute & TabulatorAttribute & TargetAttribute & TitleAttribute & TranslateAttribute & TypeAttribute & ValueAttribute & WidthAttribute & WrapAttribute & PropertyAttribute & SelectedAttribute & WindowEventAttribute & FocusEventAttribute & PointerEventAttribute & MouseEventAttribute & WheelEventAttribute & InputEventAttribute & KeyboardEventAttribute & DragEventAttribute & ClipboardEventAttribute & SelectionEventAttribute & MediaEventAttribute & FormEventAttribute & DetailEventAttribute & AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & AriaDisabledAttribute & AriaErrorMessageAttribute & FlowAccessibilityAttribute & AriaPopupAttribute & AriaHiddenAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & LabelAccessibilityAttribute & AriaLabeledAttribute & AriaLiveAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute & SortAccessibilityAttribute & OrientationAccessibilityAttribute & RequiredAccessibilityAttribute & ReadOnlyAccessibilityAttribute & DrawAttribute & FillAttribute & FillOpacityAttribute & StrokeAttribute & StrokeWidthAttribute & StrokeOpacityAttribute & StrokeLineCapAttribute & StrokeLineJoinAttribute & RadiusAttribute & PositionPointAttribute & RadiusPointAttribute & CenterPointAttribute & ViewBoxAttribute & NamespaceAttribute & PointsAttribute & ShadowRootModeAttribute & InertAttribute & FetchPriorityAttribute & LoadingAttribute & SourceSetAttribute & DecodingAttribute & BlockingAttribute & PopoverAttribute & PopoverTargetAttribute & PopoverActionAttribute & UseMapAttribute & PlaysInlineAttribute & IntegrityAttribute & AsAttribute & CrossOriginAttribute & SourceLanguageAttribute & SourceDocumentAttribute + typealias AllAttributes = AccessKeyAttribute & AcceptAttribute & ActionAttribute & AlternateAttribute & AsynchronouslyAttribute & AutocapitalizeAttribute & AutocompleteAttribute & AutofocusAttribute & AutoplayAttribute & CharsetAttribute & CheckedAttribute & CiteAttribute & ClassAttribute & ColumnsAttribute & ColumnSpanAttribute & ContentAttribute & EditAttribute & ControlsAttribute & CoordinatesAttribute & DataAttribute & DateTimeAttribute & DefaultAttribute & DeferAttribute & DirectionAttribute & DisabledAttribute & DownloadAttribute & DragAttribute & EncodingAttribute & EnterKeyAttribute & ForAttribute & FormAttribute & FormActionAttribute & EquivalentAttribute & HeadersAttribute & HeightAttribute & HiddenAttribute & HighAttribute & ReferenceAttribute & ReferenceLanguageAttribute & IdentifierAttribute & IsMapAttribute & InputModeAttribute & IsAttribute & ItemAttribute & ItemPropertyAttribute & KindAttribute & LabelAttribute & LanguageAttribute & ListAttribute & LoopAttribute & LowAttribute & MaximumValueAttribute & MaximumLengthAttribute & MediaAttribute & MethodAttribute & MinimumValueAttribute & MinimumLengthAttribute & MultipleAttribute & MutedAttribute & NameAttribute & NonceAttribute & NoValidateAttribute & OpenAttribute & OptimumAttribute & PatternAttribute & PartAttribute & PingAttribute & PlaceholderAttribute & PosterAttribute & PreloadAttribute & ReadOnlyAttribute & ReferrerPolicyAttribute & RelationshipAttribute & RequiredAttribute & ReversedAttribute & RoleAttribute & RowsAttribute & RowSpanAttribute & SandboxAttribute & ScopeAttribute & ShapeAttribute & SizeAttribute & SizesAttribute & SlotAttribute & SpanAttribute & SpellCheckAttribute & SourceAttribute & StartAttribute & StepAttribute & StyleAttribute & TabulatorAttribute & TargetAttribute & TitleAttribute & TranslateAttribute & TypeAttribute & ValueAttribute & WidthAttribute & WrapAttribute & PropertyAttribute & SelectedAttribute & WindowEventAttribute & FocusEventAttribute & PointerEventAttribute & MouseEventAttribute & WheelEventAttribute & InputEventAttribute & KeyboardEventAttribute & DragEventAttribute & ClipboardEventAttribute & SelectionEventAttribute & MediaEventAttribute & FormEventAttribute & DetailEventAttribute & AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & AriaDisabledAttribute & AriaErrorMessageAttribute & FlowAccessibilityAttribute & AriaPopupAttribute & AriaHiddenAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & LabelAccessibilityAttribute & AriaLabeledAttribute & AriaLiveAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute & SortAccessibilityAttribute & OrientationAccessibilityAttribute & RequiredAccessibilityAttribute & ReadOnlyAccessibilityAttribute & ModalAccessibilityAttribute & DrawAttribute & FillAttribute & FillOpacityAttribute & StrokeAttribute & StrokeWidthAttribute & StrokeOpacityAttribute & StrokeLineCapAttribute & StrokeLineJoinAttribute & RadiusAttribute & PositionPointAttribute & RadiusPointAttribute & CenterPointAttribute & ViewBoxAttribute & NamespaceAttribute & PointsAttribute & ShadowRootModeAttribute & InertAttribute & FetchPriorityAttribute & LoadingAttribute & SourceSetAttribute & DecodingAttribute & BlockingAttribute & PopoverAttribute & PopoverTargetAttribute & PopoverActionAttribute & UseMapAttribute & PlaysInlineAttribute & IntegrityAttribute & AsAttribute & CrossOriginAttribute & SourceLanguageAttribute & SourceDocumentAttribute struct Tag: ContentNode, GlobalElement, AllAttributes { @@ -1036,6 +1036,10 @@ final class AttributesTests: XCTestCase { return mutate(ariareadonly: .init(value, context: .trusted)) } + func accessibilityModal(_ value: Bool = true) -> Tag { + return mutate(ariamodal: .init(value, context: .trusted)) + } + func shadowRootMode(_ value: Values.Shadow.Mode) -> Tag { return mutate(shadowrootmode: .init(value.rawValue, context: .trusted)) } @@ -3105,6 +3109,23 @@ final class AttributesTests: XCTestCase { ) } + func testModalAccessibilityAttribute() throws { + + let view = TestView { + Tag {}.accessibilityModal() + Tag {}.accessibilityModal(false) + Tag {}.accessibilityModal(true) + } + + XCTAssertEqual(try renderer.render(view: view), + """ + \ + \ + + """ + ) + } + func testDrawAttribute() throws { let view = TestView { From 0d58b3984a3a497e750c91ebe24e1ae54cc099ee Mon Sep 17 00:00:00 2001 From: Mattes Mohr Date: Fri, 20 Feb 2026 18:43:07 +0100 Subject: [PATCH 08/12] Revise the level attribute --- .../Attributes/AriaAttributes.swift | 23 ++++++++++++------- .../Abstraction/Elements/BodyElements.swift | 6 ++++- Tests/HTMLKitTests/AttributesTests.swift | 19 ++++++++++++++- 3 files changed, 38 insertions(+), 10 deletions(-) diff --git a/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift b/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift index e22ea703..004e93fd 100644 --- a/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift +++ b/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift @@ -647,26 +647,33 @@ extension AriaLabeledAttribute where Self: EmptyNode { } } -/// The protocol provides the element with accessibility handler. +/// A type that provides the `accessibilityLevel` modifier. @_documentation(visibility: internal) -public protocol AriaLevelAttribute: Attribute { +public protocol LevelAccessibilityAttribute: Attribute { - /// The function represents the html-attribute 'aria-level'. + /// Announce the hierarchical level of the element. /// - /// ```html - /// + /// ```swift + /// Division { + /// "Lorem ipsum" + /// } + /// .role(.heading) + /// .accessibilityLevel(2) /// ``` - func aria(level value: Int) -> Self + /// - Parameter value: The level the element is at. + /// + /// - Returns: The element + func accessibilityLevel(_ value: Int) -> Self } -extension AriaLevelAttribute where Self: ContentNode { +extension LevelAccessibilityAttribute where Self: ContentNode { internal func mutate(arialevel value: AttributeData) -> Self { return self.mutate(key: "aria-level", value: value) } } -extension AriaLevelAttribute where Self: EmptyNode { +extension LevelAccessibilityAttribute where Self: EmptyNode { internal func mutate(arialevel value: AttributeData) -> Self { return self.mutate(key: "aria-level", value: value) diff --git a/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift b/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift index 92e9ccdc..3bdb3db6 100644 --- a/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift @@ -12649,7 +12649,7 @@ public struct Division: ContentNode, HtmlElement, BodyElement, FormElement, Figu } } -extension Division: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, OrientationAccessibilityAttribute, RequiredAccessibilityAttribute, ReadOnlyAccessibilityAttribute, ModalAccessibilityAttribute { +extension Division: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, OrientationAccessibilityAttribute, RequiredAccessibilityAttribute, ReadOnlyAccessibilityAttribute, ModalAccessibilityAttribute, LevelAccessibilityAttribute { public func accessKey(_ value: Character) -> Division { return mutate(accesskey: .init("\(value)", context: .trusted)) @@ -13013,6 +13013,10 @@ extension Division: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute public func accessibilityModal(_ value: Bool = true) -> Division { return mutate(ariamodal: .init(value, context: .trusted)) } + + public func accessibilityLevel(_ value: Int) -> Division { + return mutate(arialevel: .init(value, context: .trusted)) + } } /// An element that represents a term definition. diff --git a/Tests/HTMLKitTests/AttributesTests.swift b/Tests/HTMLKitTests/AttributesTests.swift index d16355a9..f802c312 100644 --- a/Tests/HTMLKitTests/AttributesTests.swift +++ b/Tests/HTMLKitTests/AttributesTests.swift @@ -15,7 +15,7 @@ final class AttributesTests: XCTestCase { @ContentBuilder var body: Content } - typealias AllAttributes = AccessKeyAttribute & AcceptAttribute & ActionAttribute & AlternateAttribute & AsynchronouslyAttribute & AutocapitalizeAttribute & AutocompleteAttribute & AutofocusAttribute & AutoplayAttribute & CharsetAttribute & CheckedAttribute & CiteAttribute & ClassAttribute & ColumnsAttribute & ColumnSpanAttribute & ContentAttribute & EditAttribute & ControlsAttribute & CoordinatesAttribute & DataAttribute & DateTimeAttribute & DefaultAttribute & DeferAttribute & DirectionAttribute & DisabledAttribute & DownloadAttribute & DragAttribute & EncodingAttribute & EnterKeyAttribute & ForAttribute & FormAttribute & FormActionAttribute & EquivalentAttribute & HeadersAttribute & HeightAttribute & HiddenAttribute & HighAttribute & ReferenceAttribute & ReferenceLanguageAttribute & IdentifierAttribute & IsMapAttribute & InputModeAttribute & IsAttribute & ItemAttribute & ItemPropertyAttribute & KindAttribute & LabelAttribute & LanguageAttribute & ListAttribute & LoopAttribute & LowAttribute & MaximumValueAttribute & MaximumLengthAttribute & MediaAttribute & MethodAttribute & MinimumValueAttribute & MinimumLengthAttribute & MultipleAttribute & MutedAttribute & NameAttribute & NonceAttribute & NoValidateAttribute & OpenAttribute & OptimumAttribute & PatternAttribute & PartAttribute & PingAttribute & PlaceholderAttribute & PosterAttribute & PreloadAttribute & ReadOnlyAttribute & ReferrerPolicyAttribute & RelationshipAttribute & RequiredAttribute & ReversedAttribute & RoleAttribute & RowsAttribute & RowSpanAttribute & SandboxAttribute & ScopeAttribute & ShapeAttribute & SizeAttribute & SizesAttribute & SlotAttribute & SpanAttribute & SpellCheckAttribute & SourceAttribute & StartAttribute & StepAttribute & StyleAttribute & TabulatorAttribute & TargetAttribute & TitleAttribute & TranslateAttribute & TypeAttribute & ValueAttribute & WidthAttribute & WrapAttribute & PropertyAttribute & SelectedAttribute & WindowEventAttribute & FocusEventAttribute & PointerEventAttribute & MouseEventAttribute & WheelEventAttribute & InputEventAttribute & KeyboardEventAttribute & DragEventAttribute & ClipboardEventAttribute & SelectionEventAttribute & MediaEventAttribute & FormEventAttribute & DetailEventAttribute & AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & AriaDisabledAttribute & AriaErrorMessageAttribute & FlowAccessibilityAttribute & AriaPopupAttribute & AriaHiddenAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & LabelAccessibilityAttribute & AriaLabeledAttribute & AriaLiveAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute & SortAccessibilityAttribute & OrientationAccessibilityAttribute & RequiredAccessibilityAttribute & ReadOnlyAccessibilityAttribute & ModalAccessibilityAttribute & DrawAttribute & FillAttribute & FillOpacityAttribute & StrokeAttribute & StrokeWidthAttribute & StrokeOpacityAttribute & StrokeLineCapAttribute & StrokeLineJoinAttribute & RadiusAttribute & PositionPointAttribute & RadiusPointAttribute & CenterPointAttribute & ViewBoxAttribute & NamespaceAttribute & PointsAttribute & ShadowRootModeAttribute & InertAttribute & FetchPriorityAttribute & LoadingAttribute & SourceSetAttribute & DecodingAttribute & BlockingAttribute & PopoverAttribute & PopoverTargetAttribute & PopoverActionAttribute & UseMapAttribute & PlaysInlineAttribute & IntegrityAttribute & AsAttribute & CrossOriginAttribute & SourceLanguageAttribute & SourceDocumentAttribute + typealias AllAttributes = AccessKeyAttribute & AcceptAttribute & ActionAttribute & AlternateAttribute & AsynchronouslyAttribute & AutocapitalizeAttribute & AutocompleteAttribute & AutofocusAttribute & AutoplayAttribute & CharsetAttribute & CheckedAttribute & CiteAttribute & ClassAttribute & ColumnsAttribute & ColumnSpanAttribute & ContentAttribute & EditAttribute & ControlsAttribute & CoordinatesAttribute & DataAttribute & DateTimeAttribute & DefaultAttribute & DeferAttribute & DirectionAttribute & DisabledAttribute & DownloadAttribute & DragAttribute & EncodingAttribute & EnterKeyAttribute & ForAttribute & FormAttribute & FormActionAttribute & EquivalentAttribute & HeadersAttribute & HeightAttribute & HiddenAttribute & HighAttribute & ReferenceAttribute & ReferenceLanguageAttribute & IdentifierAttribute & IsMapAttribute & InputModeAttribute & IsAttribute & ItemAttribute & ItemPropertyAttribute & KindAttribute & LabelAttribute & LanguageAttribute & ListAttribute & LoopAttribute & LowAttribute & MaximumValueAttribute & MaximumLengthAttribute & MediaAttribute & MethodAttribute & MinimumValueAttribute & MinimumLengthAttribute & MultipleAttribute & MutedAttribute & NameAttribute & NonceAttribute & NoValidateAttribute & OpenAttribute & OptimumAttribute & PatternAttribute & PartAttribute & PingAttribute & PlaceholderAttribute & PosterAttribute & PreloadAttribute & ReadOnlyAttribute & ReferrerPolicyAttribute & RelationshipAttribute & RequiredAttribute & ReversedAttribute & RoleAttribute & RowsAttribute & RowSpanAttribute & SandboxAttribute & ScopeAttribute & ShapeAttribute & SizeAttribute & SizesAttribute & SlotAttribute & SpanAttribute & SpellCheckAttribute & SourceAttribute & StartAttribute & StepAttribute & StyleAttribute & TabulatorAttribute & TargetAttribute & TitleAttribute & TranslateAttribute & TypeAttribute & ValueAttribute & WidthAttribute & WrapAttribute & PropertyAttribute & SelectedAttribute & WindowEventAttribute & FocusEventAttribute & PointerEventAttribute & MouseEventAttribute & WheelEventAttribute & InputEventAttribute & KeyboardEventAttribute & DragEventAttribute & ClipboardEventAttribute & SelectionEventAttribute & MediaEventAttribute & FormEventAttribute & DetailEventAttribute & AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & AriaDisabledAttribute & AriaErrorMessageAttribute & FlowAccessibilityAttribute & AriaPopupAttribute & AriaHiddenAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & LabelAccessibilityAttribute & AriaLabeledAttribute & AriaLiveAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute & SortAccessibilityAttribute & OrientationAccessibilityAttribute & RequiredAccessibilityAttribute & ReadOnlyAccessibilityAttribute & ModalAccessibilityAttribute & LevelAccessibilityAttribute & DrawAttribute & FillAttribute & FillOpacityAttribute & StrokeAttribute & StrokeWidthAttribute & StrokeOpacityAttribute & StrokeLineCapAttribute & StrokeLineJoinAttribute & RadiusAttribute & PositionPointAttribute & RadiusPointAttribute & CenterPointAttribute & ViewBoxAttribute & NamespaceAttribute & PointsAttribute & ShadowRootModeAttribute & InertAttribute & FetchPriorityAttribute & LoadingAttribute & SourceSetAttribute & DecodingAttribute & BlockingAttribute & PopoverAttribute & PopoverTargetAttribute & PopoverActionAttribute & UseMapAttribute & PlaysInlineAttribute & IntegrityAttribute & AsAttribute & CrossOriginAttribute & SourceLanguageAttribute & SourceDocumentAttribute struct Tag: ContentNode, GlobalElement, AllAttributes { @@ -1040,6 +1040,10 @@ final class AttributesTests: XCTestCase { return mutate(ariamodal: .init(value, context: .trusted)) } + func accessibilityLevel(_ value: Int) -> Tag { + return mutate(arialevel: .init(value, context: .trusted)) + } + func shadowRootMode(_ value: Values.Shadow.Mode) -> Tag { return mutate(shadowrootmode: .init(value.rawValue, context: .trusted)) } @@ -3126,6 +3130,19 @@ final class AttributesTests: XCTestCase { ) } + func testLevelAccessibilityAttribute() throws { + + let view = TestView { + Tag {}.accessibilityLevel(2) + } + + XCTAssertEqual(try renderer.render(view: view), + """ + + """ + ) + } + func testDrawAttribute() throws { let view = TestView { From 02530a409da02b6f7c033e6da91db2efad27e468 Mon Sep 17 00:00:00 2001 From: Mattes Mohr Date: Fri, 20 Feb 2026 20:13:01 +0100 Subject: [PATCH 09/12] Revise the hidden attribute --- .../Attributes/AriaAttributes.swift | 25 +- .../Abstraction/Elements/BodyElements.swift | 337 +++++++++++++++++- .../Elements/DefinitionElements.swift | 10 + .../Abstraction/Elements/FigureElements.swift | 5 + .../Abstraction/Elements/FormElements.swift | 20 ++ .../Abstraction/Elements/HtmlElements.swift | 5 + .../Abstraction/Elements/InputElements.swift | 20 ++ .../Abstraction/Elements/ListElements.swift | 5 + .../Abstraction/Elements/MapElements.swift | 5 + .../Abstraction/Elements/RubyElements.swift | 10 + .../Abstraction/Elements/TableElements.swift | 35 ++ Tests/HTMLKitTests/AttributesTests.swift | 12 +- 12 files changed, 476 insertions(+), 13 deletions(-) diff --git a/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift b/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift index 004e93fd..5714a453 100644 --- a/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift +++ b/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift @@ -1,5 +1,5 @@ @_documentation(visibility: internal) -public typealias GlobalAriaAttributes = AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & AriaDisabledAttribute & AriaErrorMessageAttribute & FlowAccessibilityAttribute & AriaPopupAttribute & AriaHiddenAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & LabelAccessibilityAttribute & AriaLabeledAttribute & AriaLiveAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute +public typealias GlobalAriaAttributes = AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & AriaDisabledAttribute & AriaErrorMessageAttribute & FlowAccessibilityAttribute & AriaPopupAttribute & HiddenAccessibilityAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & LabelAccessibilityAttribute & AriaLabeledAttribute & AriaLiveAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute /// The protocol provides the element with accessibility handler. @_documentation(visibility: internal) @@ -475,24 +475,33 @@ extension AriaPopupAttribute where Self: EmptyNode { /// The protocol provides the element with accessibility handler. @_documentation(visibility: internal) -public protocol AriaHiddenAttribute: Attribute { +public protocol HiddenAccessibilityAttribute: Attribute { - /// The function represents the html-attribute 'aria-hidden'. + /// Indicate whether the element should be announced. /// - /// ```html - /// + /// ```swift + /// Vector { + /// Path { + /// } + /// .draw("M...") + /// } + /// .accessibilityHidden() /// ``` - func aria(hidden value: Bool) -> Self + /// + /// - Parameter value: Whether the element should be announced. + /// + /// - Returns: The element + func accessibilityHidden(_ value: Bool) -> Self } -extension AriaHiddenAttribute where Self: ContentNode { +extension HiddenAccessibilityAttribute where Self: ContentNode { internal func mutate(ariahidden value: AttributeData) -> Self { return self.mutate(key: "aria-hidden", value: value) } } -extension AriaHiddenAttribute where Self: EmptyNode { +extension HiddenAccessibilityAttribute where Self: EmptyNode { internal func mutate(ariahidden value: AttributeData) -> Self { return self.mutate(key: "aria-hidden", value: value) diff --git a/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift b/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift index 3bdb3db6..c9e0eaff 100644 --- a/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift @@ -517,10 +517,15 @@ extension Article: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Article { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Article { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Article { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -939,10 +944,15 @@ extension Section: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Section { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Section { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Section { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -1363,10 +1373,15 @@ extension Navigation: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribu return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Navigation { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Navigation { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Navigation { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -1783,10 +1798,15 @@ extension Aside: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Aside { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Aside { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Aside { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -2200,10 +2220,15 @@ extension Heading1: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Heading1 { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Heading1 { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Heading1 { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -2626,10 +2651,15 @@ extension Heading2: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Heading2 { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Heading2 { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Heading2 { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -3052,10 +3082,15 @@ extension Heading3: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Heading3 { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Heading3 { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Heading3 { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -3478,10 +3513,15 @@ extension Heading4: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Heading4 { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Heading4 { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Heading4 { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -3904,10 +3944,15 @@ extension Heading5: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Heading5 { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Heading5 { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Heading5 { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -4330,10 +4375,15 @@ extension Heading6: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Heading6 { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Heading6 { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Heading6 { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -4761,10 +4811,15 @@ extension HeadingGroup: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttri return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> HeadingGroup { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> HeadingGroup { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> HeadingGroup { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -5179,10 +5234,15 @@ extension Header: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Header { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Header { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Header { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -5595,10 +5655,15 @@ extension Footer: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Footer { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Footer { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Footer { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -6018,10 +6083,15 @@ extension Address: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Address { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Address { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Address { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -6435,10 +6505,15 @@ extension Paragraph: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Paragraph { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Paragraph { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Paragraph { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -6856,10 +6931,15 @@ extension HorizontalRule: GlobalAttributes, GlobalEventAttributes, GlobalAriaAtt return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> HorizontalRule { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> HorizontalRule { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> HorizontalRule { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -7279,10 +7359,15 @@ extension PreformattedText: GlobalAttributes, GlobalEventAttributes, GlobalAriaA return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> PreformattedText { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> PreformattedText { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> PreformattedText { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -7700,10 +7785,15 @@ extension Blockquote: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribu return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Blockquote { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Blockquote { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Blockquote { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -8143,10 +8233,15 @@ extension OrderedList: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttrib return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> OrderedList { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> OrderedList { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> OrderedList { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -8569,10 +8664,15 @@ extension UnorderedList: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttr return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> UnorderedList { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> UnorderedList { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> UnorderedList { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -9307,10 +9407,15 @@ extension DescriptionList: GlobalAttributes, GlobalEventAttributes, GlobalAriaAt return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> DescriptionList { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> DescriptionList { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> DescriptionList { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -9729,10 +9834,15 @@ extension Figure: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Figure { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Figure { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Figure { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -10192,10 +10302,15 @@ extension Anchor: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Anchor { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Anchor { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Anchor { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -10622,10 +10737,15 @@ extension Emphasize: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Emphasize { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Emphasize { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Emphasize { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -11041,10 +11161,15 @@ extension Strong: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Strong { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Strong { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Strong { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -11460,10 +11585,15 @@ extension Small: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Small { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Small { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Small { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -12226,10 +12356,15 @@ extension Main: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Main { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Main { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Main { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -12949,10 +13084,15 @@ extension Division: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Division { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Division { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Division { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -13391,10 +13531,15 @@ extension Definition: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribu return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Definition { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Definition { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Definition { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -13811,10 +13956,15 @@ extension Cite: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Cite { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Cite { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Cite { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -14234,10 +14384,15 @@ extension ShortQuote: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribu return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> ShortQuote { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> ShortQuote { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> ShortQuote { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -14654,10 +14809,15 @@ extension Abbreviation: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttri return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Abbreviation { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Abbreviation { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Abbreviation { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -15074,10 +15234,15 @@ extension Ruby: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Ruby { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Ruby { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Ruby { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -15509,10 +15674,15 @@ extension Data: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, V return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Data { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Data { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Data { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -15934,10 +16104,15 @@ extension Time: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, D return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Time { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Time { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Time { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -16355,10 +16530,15 @@ extension Code: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Code { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Code { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Code { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -16776,10 +16956,15 @@ extension Variable: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Variable { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Variable { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Variable { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -17193,10 +17378,15 @@ extension SampleOutput: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttri return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> SampleOutput { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> SampleOutput { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> SampleOutput { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -17614,10 +17804,15 @@ extension KeyboardInput: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttr return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> KeyboardInput { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> KeyboardInput { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> KeyboardInput { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -18034,10 +18229,15 @@ extension Subscript: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Subscript { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Subscript { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Subscript { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -18455,10 +18655,15 @@ extension Superscript: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttrib return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Superscript { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Superscript { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Superscript { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -18876,10 +19081,15 @@ extension Italic: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Italic { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Italic { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Italic { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -19306,10 +19516,15 @@ extension Bold: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Bold { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Bold { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Bold { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -19736,10 +19951,15 @@ extension Underline: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Underline { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Underline { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Underline { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -20166,10 +20386,15 @@ extension Mark: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Mark { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Mark { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Mark { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -20587,10 +20812,15 @@ extension Bdi: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Bdi { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Bdi { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Bdi { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -20996,10 +21226,15 @@ extension Bdo: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Bdo { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Bdo { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Bdo { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -21413,10 +21648,15 @@ extension Span: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, O return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Span { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Span { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Span { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -21827,10 +22067,15 @@ extension LineBreak: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> LineBreak { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> LineBreak { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> LineBreak { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -22233,10 +22478,15 @@ extension WordBreak: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> WordBreak { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> WordBreak { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> WordBreak { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -22658,10 +22908,15 @@ extension InsertedText: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttri return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> InsertedText { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> InsertedText { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> InsertedText { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -23083,10 +23338,15 @@ extension DeletedText: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttrib return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> DeletedText { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> DeletedText { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> DeletedText { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -23890,10 +24150,15 @@ extension Image: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Image { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Image { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Image { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -24351,11 +24616,16 @@ extension InlineFrame: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttrib public func aria(hasPopup value: Values.Accessibility.Popup) -> InlineFrame { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } - + + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> InlineFrame { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> InlineFrame { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> InlineFrame { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -24776,10 +25046,15 @@ extension Embed: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Embed { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Embed { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Embed { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -25218,10 +25493,15 @@ extension Object: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Object { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Object { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Object { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -25696,10 +25976,15 @@ extension Video: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Video { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Video { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Video { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -26157,10 +26442,15 @@ extension Audio: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Audio { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Audio { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Audio { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -26951,10 +27241,15 @@ extension Form: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, A return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Form { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Form { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Form { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -27375,10 +27670,15 @@ extension DataList: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> DataList { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> DataList { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> DataList { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -27806,10 +28106,15 @@ extension Output: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Output { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Output { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Output { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -28242,10 +28547,15 @@ extension Progress: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Progress { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Progress { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Progress { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -28696,10 +29006,15 @@ extension Meter: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Meter { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Meter { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Meter { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -29141,10 +29456,15 @@ extension Details: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Details { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Details { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Details { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -29582,10 +29902,15 @@ extension Dialog: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Dialog { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Dialog { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Dialog { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -31017,10 +31342,15 @@ extension Canvas: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Canvas { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Canvas { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Canvas { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -31449,10 +31779,15 @@ extension Table: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Table { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Table { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Table { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } diff --git a/Sources/HTMLKit/Abstraction/Elements/DefinitionElements.swift b/Sources/HTMLKit/Abstraction/Elements/DefinitionElements.swift index 54f0e1e0..5a9e158e 100644 --- a/Sources/HTMLKit/Abstraction/Elements/DefinitionElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/DefinitionElements.swift @@ -381,10 +381,15 @@ extension TermName: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> TermName { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> TermName { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> TermName { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -803,10 +808,15 @@ extension TermDefinition: GlobalAttributes, GlobalEventAttributes, GlobalAriaAtt return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> TermDefinition { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> TermDefinition { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> TermDefinition { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } diff --git a/Sources/HTMLKit/Abstraction/Elements/FigureElements.swift b/Sources/HTMLKit/Abstraction/Elements/FigureElements.swift index cb1f097c..a10e5cf6 100644 --- a/Sources/HTMLKit/Abstraction/Elements/FigureElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/FigureElements.swift @@ -377,10 +377,15 @@ extension FigureCaption: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttr return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> FigureCaption { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> FigureCaption { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> FigureCaption { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } diff --git a/Sources/HTMLKit/Abstraction/Elements/FormElements.swift b/Sources/HTMLKit/Abstraction/Elements/FormElements.swift index d21c0c8b..e218e83a 100644 --- a/Sources/HTMLKit/Abstraction/Elements/FormElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/FormElements.swift @@ -884,10 +884,15 @@ extension Label: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Label { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Label { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Label { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -1780,10 +1785,15 @@ extension TextArea: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> TextArea { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> TextArea { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> TextArea { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -2254,10 +2264,15 @@ extension Button: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Button { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Button { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Button { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -2707,10 +2722,15 @@ extension Fieldset: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Fieldset { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Fieldset { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Fieldset { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } diff --git a/Sources/HTMLKit/Abstraction/Elements/HtmlElements.swift b/Sources/HTMLKit/Abstraction/Elements/HtmlElements.swift index 1e482a80..2e211928 100644 --- a/Sources/HTMLKit/Abstraction/Elements/HtmlElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/HtmlElements.swift @@ -696,10 +696,15 @@ extension Body: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, W return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Body { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Body { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Body { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } diff --git a/Sources/HTMLKit/Abstraction/Elements/InputElements.swift b/Sources/HTMLKit/Abstraction/Elements/InputElements.swift index 73088934..0d88aa6f 100644 --- a/Sources/HTMLKit/Abstraction/Elements/InputElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/InputElements.swift @@ -405,10 +405,15 @@ extension OptionGroup: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttrib return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> OptionGroup { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> OptionGroup { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> OptionGroup { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -869,10 +874,15 @@ extension Option: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Option { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Option { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Option { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -1299,10 +1309,15 @@ extension Legend: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Legend { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Legend { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Legend { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -1721,10 +1736,15 @@ extension Summary: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Summary { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Summary { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Summary { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } diff --git a/Sources/HTMLKit/Abstraction/Elements/ListElements.swift b/Sources/HTMLKit/Abstraction/Elements/ListElements.swift index 7e66c3fc..8b683c1e 100644 --- a/Sources/HTMLKit/Abstraction/Elements/ListElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/ListElements.swift @@ -390,10 +390,15 @@ extension ListItem: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> ListItem { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> ListItem { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> ListItem { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } diff --git a/Sources/HTMLKit/Abstraction/Elements/MapElements.swift b/Sources/HTMLKit/Abstraction/Elements/MapElements.swift index 3d3d31c2..580d3e1a 100644 --- a/Sources/HTMLKit/Abstraction/Elements/MapElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/MapElements.swift @@ -420,10 +420,15 @@ extension Area: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, A return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Area { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Area { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Area { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } diff --git a/Sources/HTMLKit/Abstraction/Elements/RubyElements.swift b/Sources/HTMLKit/Abstraction/Elements/RubyElements.swift index a342dfd4..ed662e41 100644 --- a/Sources/HTMLKit/Abstraction/Elements/RubyElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/RubyElements.swift @@ -379,10 +379,15 @@ extension RubyText: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> RubyText { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> RubyText { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> RubyText { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -806,10 +811,15 @@ extension RubyPronunciation: GlobalAttributes, GlobalEventAttributes, GlobalAria return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> RubyPronunciation { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> RubyPronunciation { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> RubyPronunciation { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } diff --git a/Sources/HTMLKit/Abstraction/Elements/TableElements.swift b/Sources/HTMLKit/Abstraction/Elements/TableElements.swift index 601473bf..76ec663f 100644 --- a/Sources/HTMLKit/Abstraction/Elements/TableElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/TableElements.swift @@ -402,10 +402,15 @@ extension Caption: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> Caption { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> Caption { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> Caption { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -1477,10 +1482,15 @@ extension TableBody: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> TableBody { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> TableBody { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> TableBody { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -1915,10 +1925,15 @@ extension TableHead: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> TableHead { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> TableHead { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> TableHead { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -2345,10 +2360,15 @@ extension TableFoot: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> TableFoot { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> TableFoot { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> TableFoot { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -2777,10 +2797,15 @@ extension TableRow: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> TableRow { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> TableRow { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> TableRow { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -3215,10 +3240,15 @@ extension DataCell: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> DataCell { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> DataCell { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> DataCell { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } @@ -3656,10 +3686,15 @@ extension HeaderCell: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribu return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } + @available(*, deprecated, message: "Use the accessibilityHidden(_:) modifier instead.") public func aria(hidden value: Bool) -> HeaderCell { return mutate(ariahidden: .init(value, context: .trusted)) } + public func accessibilityHidden(_ value: Bool = true) -> HeaderCell { + return mutate(ariahidden: .init(value, context: .trusted)) + } + public func aria(invalid value: Values.Accessibility.Invalid) -> HeaderCell { return mutate(ariainvalid: .init(value.rawValue, context: .trusted)) } diff --git a/Tests/HTMLKitTests/AttributesTests.swift b/Tests/HTMLKitTests/AttributesTests.swift index f802c312..5332a509 100644 --- a/Tests/HTMLKitTests/AttributesTests.swift +++ b/Tests/HTMLKitTests/AttributesTests.swift @@ -15,7 +15,7 @@ final class AttributesTests: XCTestCase { @ContentBuilder var body: Content } - typealias AllAttributes = AccessKeyAttribute & AcceptAttribute & ActionAttribute & AlternateAttribute & AsynchronouslyAttribute & AutocapitalizeAttribute & AutocompleteAttribute & AutofocusAttribute & AutoplayAttribute & CharsetAttribute & CheckedAttribute & CiteAttribute & ClassAttribute & ColumnsAttribute & ColumnSpanAttribute & ContentAttribute & EditAttribute & ControlsAttribute & CoordinatesAttribute & DataAttribute & DateTimeAttribute & DefaultAttribute & DeferAttribute & DirectionAttribute & DisabledAttribute & DownloadAttribute & DragAttribute & EncodingAttribute & EnterKeyAttribute & ForAttribute & FormAttribute & FormActionAttribute & EquivalentAttribute & HeadersAttribute & HeightAttribute & HiddenAttribute & HighAttribute & ReferenceAttribute & ReferenceLanguageAttribute & IdentifierAttribute & IsMapAttribute & InputModeAttribute & IsAttribute & ItemAttribute & ItemPropertyAttribute & KindAttribute & LabelAttribute & LanguageAttribute & ListAttribute & LoopAttribute & LowAttribute & MaximumValueAttribute & MaximumLengthAttribute & MediaAttribute & MethodAttribute & MinimumValueAttribute & MinimumLengthAttribute & MultipleAttribute & MutedAttribute & NameAttribute & NonceAttribute & NoValidateAttribute & OpenAttribute & OptimumAttribute & PatternAttribute & PartAttribute & PingAttribute & PlaceholderAttribute & PosterAttribute & PreloadAttribute & ReadOnlyAttribute & ReferrerPolicyAttribute & RelationshipAttribute & RequiredAttribute & ReversedAttribute & RoleAttribute & RowsAttribute & RowSpanAttribute & SandboxAttribute & ScopeAttribute & ShapeAttribute & SizeAttribute & SizesAttribute & SlotAttribute & SpanAttribute & SpellCheckAttribute & SourceAttribute & StartAttribute & StepAttribute & StyleAttribute & TabulatorAttribute & TargetAttribute & TitleAttribute & TranslateAttribute & TypeAttribute & ValueAttribute & WidthAttribute & WrapAttribute & PropertyAttribute & SelectedAttribute & WindowEventAttribute & FocusEventAttribute & PointerEventAttribute & MouseEventAttribute & WheelEventAttribute & InputEventAttribute & KeyboardEventAttribute & DragEventAttribute & ClipboardEventAttribute & SelectionEventAttribute & MediaEventAttribute & FormEventAttribute & DetailEventAttribute & AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & AriaDisabledAttribute & AriaErrorMessageAttribute & FlowAccessibilityAttribute & AriaPopupAttribute & AriaHiddenAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & LabelAccessibilityAttribute & AriaLabeledAttribute & AriaLiveAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute & SortAccessibilityAttribute & OrientationAccessibilityAttribute & RequiredAccessibilityAttribute & ReadOnlyAccessibilityAttribute & ModalAccessibilityAttribute & LevelAccessibilityAttribute & DrawAttribute & FillAttribute & FillOpacityAttribute & StrokeAttribute & StrokeWidthAttribute & StrokeOpacityAttribute & StrokeLineCapAttribute & StrokeLineJoinAttribute & RadiusAttribute & PositionPointAttribute & RadiusPointAttribute & CenterPointAttribute & ViewBoxAttribute & NamespaceAttribute & PointsAttribute & ShadowRootModeAttribute & InertAttribute & FetchPriorityAttribute & LoadingAttribute & SourceSetAttribute & DecodingAttribute & BlockingAttribute & PopoverAttribute & PopoverTargetAttribute & PopoverActionAttribute & UseMapAttribute & PlaysInlineAttribute & IntegrityAttribute & AsAttribute & CrossOriginAttribute & SourceLanguageAttribute & SourceDocumentAttribute + typealias AllAttributes = AccessKeyAttribute & AcceptAttribute & ActionAttribute & AlternateAttribute & AsynchronouslyAttribute & AutocapitalizeAttribute & AutocompleteAttribute & AutofocusAttribute & AutoplayAttribute & CharsetAttribute & CheckedAttribute & CiteAttribute & ClassAttribute & ColumnsAttribute & ColumnSpanAttribute & ContentAttribute & EditAttribute & ControlsAttribute & CoordinatesAttribute & DataAttribute & DateTimeAttribute & DefaultAttribute & DeferAttribute & DirectionAttribute & DisabledAttribute & DownloadAttribute & DragAttribute & EncodingAttribute & EnterKeyAttribute & ForAttribute & FormAttribute & FormActionAttribute & EquivalentAttribute & HeadersAttribute & HeightAttribute & HiddenAttribute & HighAttribute & ReferenceAttribute & ReferenceLanguageAttribute & IdentifierAttribute & IsMapAttribute & InputModeAttribute & IsAttribute & ItemAttribute & ItemPropertyAttribute & KindAttribute & LabelAttribute & LanguageAttribute & ListAttribute & LoopAttribute & LowAttribute & MaximumValueAttribute & MaximumLengthAttribute & MediaAttribute & MethodAttribute & MinimumValueAttribute & MinimumLengthAttribute & MultipleAttribute & MutedAttribute & NameAttribute & NonceAttribute & NoValidateAttribute & OpenAttribute & OptimumAttribute & PatternAttribute & PartAttribute & PingAttribute & PlaceholderAttribute & PosterAttribute & PreloadAttribute & ReadOnlyAttribute & ReferrerPolicyAttribute & RelationshipAttribute & RequiredAttribute & ReversedAttribute & RoleAttribute & RowsAttribute & RowSpanAttribute & SandboxAttribute & ScopeAttribute & ShapeAttribute & SizeAttribute & SizesAttribute & SlotAttribute & SpanAttribute & SpellCheckAttribute & SourceAttribute & StartAttribute & StepAttribute & StyleAttribute & TabulatorAttribute & TargetAttribute & TitleAttribute & TranslateAttribute & TypeAttribute & ValueAttribute & WidthAttribute & WrapAttribute & PropertyAttribute & SelectedAttribute & WindowEventAttribute & FocusEventAttribute & PointerEventAttribute & MouseEventAttribute & WheelEventAttribute & InputEventAttribute & KeyboardEventAttribute & DragEventAttribute & ClipboardEventAttribute & SelectionEventAttribute & MediaEventAttribute & FormEventAttribute & DetailEventAttribute & AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & AriaDisabledAttribute & AriaErrorMessageAttribute & FlowAccessibilityAttribute & AriaPopupAttribute & HiddenAccessibilityAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & LabelAccessibilityAttribute & AriaLabeledAttribute & AriaLiveAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute & SortAccessibilityAttribute & OrientationAccessibilityAttribute & RequiredAccessibilityAttribute & ReadOnlyAccessibilityAttribute & ModalAccessibilityAttribute & LevelAccessibilityAttribute & DrawAttribute & FillAttribute & FillOpacityAttribute & StrokeAttribute & StrokeWidthAttribute & StrokeOpacityAttribute & StrokeLineCapAttribute & StrokeLineJoinAttribute & RadiusAttribute & PositionPointAttribute & RadiusPointAttribute & CenterPointAttribute & ViewBoxAttribute & NamespaceAttribute & PointsAttribute & ShadowRootModeAttribute & InertAttribute & FetchPriorityAttribute & LoadingAttribute & SourceSetAttribute & DecodingAttribute & BlockingAttribute & PopoverAttribute & PopoverTargetAttribute & PopoverActionAttribute & UseMapAttribute & PlaysInlineAttribute & IntegrityAttribute & AsAttribute & CrossOriginAttribute & SourceLanguageAttribute & SourceDocumentAttribute struct Tag: ContentNode, GlobalElement, AllAttributes { @@ -976,7 +976,7 @@ final class AttributesTests: XCTestCase { return mutate(ariahaspopup: .init(value.rawValue, context: .trusted)) } - func aria(hidden value: Bool) -> Tag { + func accessibilityHidden(_ value: Bool = true) -> Tag { return mutate(ariahidden: .init(value, context: .trusted)) } @@ -2932,14 +2932,18 @@ final class AttributesTests: XCTestCase { ) } - func testHiddenAriaAttribute() throws { + func testHiddenAccessibilityAttribute() throws { let view = TestView { - Tag {}.aria(hidden: true) + Tag {}.accessibilityHidden() + Tag {}.accessibilityHidden(false) + Tag {}.accessibilityHidden(true) } XCTAssertEqual(try renderer.render(view: view), """ + \ + \ """ ) From 08d1f24d7543a84f394979ace7307c07ba5db1c3 Mon Sep 17 00:00:00 2001 From: Mattes Mohr Date: Mon, 23 Feb 2026 22:15:12 +0100 Subject: [PATCH 10/12] Revise the live attribute --- .../Attributes/AriaAttributes.swift | 23 +- .../Abstraction/Elements/BodyElements.swift | 335 ++++++++++++++++++ .../Elements/DefinitionElements.swift | 10 + .../Abstraction/Elements/FigureElements.swift | 5 + .../Abstraction/Elements/FormElements.swift | 20 ++ .../Abstraction/Elements/HtmlElements.swift | 5 + .../Abstraction/Elements/InputElements.swift | 20 ++ .../Abstraction/Elements/ListElements.swift | 7 +- .../Abstraction/Elements/MapElements.swift | 5 + .../Abstraction/Elements/RubyElements.swift | 10 + .../Abstraction/Elements/TableElements.swift | 35 ++ Tests/HTMLKitTests/AttributesTests.swift | 12 +- 12 files changed, 473 insertions(+), 14 deletions(-) diff --git a/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift b/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift index 5714a453..7464c9ad 100644 --- a/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift +++ b/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift @@ -1,5 +1,5 @@ @_documentation(visibility: internal) -public typealias GlobalAriaAttributes = AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & AriaDisabledAttribute & AriaErrorMessageAttribute & FlowAccessibilityAttribute & AriaPopupAttribute & HiddenAccessibilityAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & LabelAccessibilityAttribute & AriaLabeledAttribute & AriaLiveAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute +public typealias GlobalAriaAttributes = AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & AriaDisabledAttribute & AriaErrorMessageAttribute & FlowAccessibilityAttribute & AriaPopupAttribute & HiddenAccessibilityAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & LabelAccessibilityAttribute & AriaLabeledAttribute & LiveAccessibilityAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute /// The protocol provides the element with accessibility handler. @_documentation(visibility: internal) @@ -689,26 +689,31 @@ extension LevelAccessibilityAttribute where Self: EmptyNode { } } -/// The protocol provides the element with accessibility handler. +/// A type that provides the `accessibilityLive` modifier. @_documentation(visibility: internal) -public protocol AriaLiveAttribute: Attribute { +public protocol LiveAccessibilityAttribute: Attribute { - /// The function represents the html-attribute 'aria-live'. + /// Indicate that the element will be updated and how. /// - /// ```html - /// + /// ```swift + /// Division { + /// } + /// .accessibilityLive(.polite) /// ``` - func aria(live value: Values.Accessibility.Live) -> Self + /// - Parameter value: The manner on how to notify. + /// + /// - Returns: The element + func accessibilityLive(_ value: Values.Accessibility.Live) -> Self } -extension AriaLiveAttribute where Self: ContentNode { +extension LiveAccessibilityAttribute where Self: ContentNode { internal func mutate(arialive value: AttributeData) -> Self { return self.mutate(key: "aria-live", value: value) } } -extension AriaLiveAttribute where Self: EmptyNode { +extension LiveAccessibilityAttribute where Self: EmptyNode { internal func mutate(arialive value: AttributeData) -> Self { return self.mutate(key: "aria-live", value: value) diff --git a/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift b/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift index c9e0eaff..417b712b 100644 --- a/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift @@ -555,10 +555,15 @@ extension Article: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Article { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Article { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Article { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -982,10 +987,15 @@ extension Section: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Section { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Section { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Section { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -1411,10 +1421,15 @@ extension Navigation: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribu return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Navigation { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Navigation { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Navigation { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -1836,10 +1851,15 @@ extension Aside: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Aside { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Aside { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Aside { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -2258,10 +2278,15 @@ extension Heading1: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Heading1 { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Heading1 { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Heading1 { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -2689,10 +2714,15 @@ extension Heading2: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Heading2 { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Heading2 { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Heading2 { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -3120,10 +3150,15 @@ extension Heading3: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Heading3 { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Heading3 { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Heading3 { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -3551,10 +3586,15 @@ extension Heading4: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Heading4 { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Heading4 { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Heading4 { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -3982,10 +4022,15 @@ extension Heading5: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Heading5 { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Heading5 { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Heading5 { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -4413,10 +4458,15 @@ extension Heading6: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Heading6 { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Heading6 { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Heading6 { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -4849,10 +4899,15 @@ extension HeadingGroup: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttri return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> HeadingGroup { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> HeadingGroup { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> HeadingGroup { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -5272,10 +5327,15 @@ extension Header: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Header { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Header { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Header { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -5693,10 +5753,15 @@ extension Footer: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Footer { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Footer { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Footer { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -6121,10 +6186,15 @@ extension Address: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Address { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Address { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Address { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -6543,10 +6613,15 @@ extension Paragraph: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Paragraph { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Paragraph { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Paragraph { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -6969,10 +7044,15 @@ extension HorizontalRule: GlobalAttributes, GlobalEventAttributes, GlobalAriaAtt return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> HorizontalRule { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> HorizontalRule { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> HorizontalRule { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -7397,10 +7477,15 @@ extension PreformattedText: GlobalAttributes, GlobalEventAttributes, GlobalAriaA return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> PreformattedText { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> PreformattedText { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> PreformattedText { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -7823,10 +7908,15 @@ extension Blockquote: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribu return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Blockquote { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Blockquote { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Blockquote { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -8271,10 +8361,15 @@ extension OrderedList: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttrib return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> OrderedList { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> OrderedList { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> OrderedList { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -8702,10 +8797,15 @@ extension UnorderedList: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttr return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> UnorderedList { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> UnorderedList { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> UnorderedList { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -9445,10 +9545,15 @@ extension DescriptionList: GlobalAttributes, GlobalEventAttributes, GlobalAriaAt return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> DescriptionList { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> DescriptionList { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> DescriptionList { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -9872,10 +9977,15 @@ extension Figure: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Figure { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Figure { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Figure { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -10340,10 +10450,15 @@ extension Anchor: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Anchor { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Anchor { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Anchor { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -10775,10 +10890,15 @@ extension Emphasize: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Emphasize { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Emphasize { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Emphasize { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -11199,10 +11319,15 @@ extension Strong: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Strong { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Strong { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Strong { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -11623,10 +11748,15 @@ extension Small: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Small { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Small { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Small { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -12394,10 +12524,15 @@ extension Main: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Main { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Main { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Main { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -13122,10 +13257,15 @@ extension Division: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Division { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Division { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Division { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -13569,10 +13709,15 @@ extension Definition: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribu return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Definition { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Definition { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Definition { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -13994,10 +14139,15 @@ extension Cite: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Cite { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Cite { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Cite { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -14422,10 +14572,15 @@ extension ShortQuote: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribu return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> ShortQuote { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> ShortQuote { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> ShortQuote { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -14847,10 +15002,15 @@ extension Abbreviation: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttri return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Abbreviation { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Abbreviation { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Abbreviation { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -15272,10 +15432,15 @@ extension Ruby: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Ruby { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Ruby { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Ruby { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -15712,10 +15877,15 @@ extension Data: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, V return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Data { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Data { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Data { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -16142,10 +16312,15 @@ extension Time: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, D return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Time { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Time { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Time { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -16568,10 +16743,15 @@ extension Code: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Code { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Code { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Code { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -16994,10 +17174,15 @@ extension Variable: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Variable { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Variable { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Variable { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -17416,10 +17601,15 @@ extension SampleOutput: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttri return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> SampleOutput { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> SampleOutput { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> SampleOutput { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -17842,10 +18032,15 @@ extension KeyboardInput: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttr return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> KeyboardInput { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> KeyboardInput { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> KeyboardInput { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -18267,10 +18462,15 @@ extension Subscript: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Subscript { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Subscript { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Subscript { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -18693,10 +18893,15 @@ extension Superscript: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttrib return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Superscript { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Superscript { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Superscript { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -19119,10 +19324,15 @@ extension Italic: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Italic { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Italic { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Italic { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -19554,10 +19764,15 @@ extension Bold: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Bold { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Bold { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Bold { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -19989,10 +20204,15 @@ extension Underline: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Underline { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Underline { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Underline { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -20424,10 +20644,15 @@ extension Mark: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Mark { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Mark { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Mark { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -20850,10 +21075,15 @@ extension Bdi: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Bdi { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Bdi { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Bdi { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -21264,10 +21494,15 @@ extension Bdo: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Bdo { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Bdo { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Bdo { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -21686,10 +21921,15 @@ extension Span: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, O return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Span { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Span { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Span { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -22105,10 +22345,15 @@ extension LineBreak: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> LineBreak { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> LineBreak { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> LineBreak { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -22516,10 +22761,15 @@ extension WordBreak: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> WordBreak { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> WordBreak { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> WordBreak { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -22946,10 +23196,15 @@ extension InsertedText: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttri return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> InsertedText { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> InsertedText { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> InsertedText { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -23376,10 +23631,15 @@ extension DeletedText: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttrib return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> DeletedText { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> DeletedText { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> DeletedText { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -24188,10 +24448,15 @@ extension Image: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Image { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Image { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Image { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -24655,10 +24920,15 @@ extension InlineFrame: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttrib return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> InlineFrame { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> InlineFrame { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> InlineFrame { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -25084,10 +25354,15 @@ extension Embed: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Embed { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Embed { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Embed { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -25531,10 +25806,15 @@ extension Object: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Object { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Object { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Object { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -26014,10 +26294,15 @@ extension Video: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Video { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Video { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Video { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -26480,10 +26765,15 @@ extension Audio: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Audio { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Audio { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Audio { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -27279,10 +27569,15 @@ extension Form: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, A return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Form { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Form { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Form { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -27708,10 +28003,15 @@ extension DataList: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> DataList { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> DataList { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> DataList { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -28144,10 +28444,15 @@ extension Output: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Output { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Output { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Output { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -28585,10 +28890,15 @@ extension Progress: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Progress { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Progress { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Progress { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -29044,10 +29354,15 @@ extension Meter: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Meter { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Meter { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Meter { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -29494,10 +29809,15 @@ extension Details: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Details { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Details { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Details { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -29940,10 +30260,15 @@ extension Dialog: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Dialog { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Dialog { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Dialog { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -31380,10 +31705,15 @@ extension Canvas: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Canvas { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Canvas { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Canvas { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -31817,10 +32147,15 @@ extension Table: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Table { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Table { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Table { return mutate(ariaowns: .init(value, context: .tainted(.html))) } diff --git a/Sources/HTMLKit/Abstraction/Elements/DefinitionElements.swift b/Sources/HTMLKit/Abstraction/Elements/DefinitionElements.swift index 5a9e158e..3363825c 100644 --- a/Sources/HTMLKit/Abstraction/Elements/DefinitionElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/DefinitionElements.swift @@ -419,10 +419,15 @@ extension TermName: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> TermName { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> TermName { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> TermName { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -846,10 +851,15 @@ extension TermDefinition: GlobalAttributes, GlobalEventAttributes, GlobalAriaAtt return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> TermDefinition { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> TermDefinition { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> TermDefinition { return mutate(ariaowns: .init(value, context: .tainted(.html))) } diff --git a/Sources/HTMLKit/Abstraction/Elements/FigureElements.swift b/Sources/HTMLKit/Abstraction/Elements/FigureElements.swift index a10e5cf6..65a6e25e 100644 --- a/Sources/HTMLKit/Abstraction/Elements/FigureElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/FigureElements.swift @@ -415,10 +415,15 @@ extension FigureCaption: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttr return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> FigureCaption { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> FigureCaption { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> FigureCaption { return mutate(ariaowns: .init(value, context: .tainted(.html))) } diff --git a/Sources/HTMLKit/Abstraction/Elements/FormElements.swift b/Sources/HTMLKit/Abstraction/Elements/FormElements.swift index e218e83a..02460850 100644 --- a/Sources/HTMLKit/Abstraction/Elements/FormElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/FormElements.swift @@ -922,10 +922,15 @@ extension Label: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Label { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Label { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Label { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -1823,10 +1828,15 @@ extension TextArea: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> TextArea { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> TextArea { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> TextArea { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -2302,10 +2312,15 @@ extension Button: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Button { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Button { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Button { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -2760,10 +2775,15 @@ extension Fieldset: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Fieldset { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Fieldset { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Fieldset { return mutate(ariaowns: .init(value, context: .tainted(.html))) } diff --git a/Sources/HTMLKit/Abstraction/Elements/HtmlElements.swift b/Sources/HTMLKit/Abstraction/Elements/HtmlElements.swift index 2e211928..3636745a 100644 --- a/Sources/HTMLKit/Abstraction/Elements/HtmlElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/HtmlElements.swift @@ -734,10 +734,15 @@ extension Body: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, W return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Body { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Body { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Body { return mutate(ariaowns: .init(value, context: .tainted(.html))) } diff --git a/Sources/HTMLKit/Abstraction/Elements/InputElements.swift b/Sources/HTMLKit/Abstraction/Elements/InputElements.swift index 0d88aa6f..c83c08f3 100644 --- a/Sources/HTMLKit/Abstraction/Elements/InputElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/InputElements.swift @@ -443,10 +443,15 @@ extension OptionGroup: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttrib return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> OptionGroup { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> OptionGroup { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> OptionGroup { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -912,10 +917,15 @@ extension Option: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Option { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Option { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Option { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -1347,10 +1357,15 @@ extension Legend: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Legend { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Legend { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Legend { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -1774,10 +1789,15 @@ extension Summary: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Summary { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Summary { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Summary { return mutate(ariaowns: .init(value, context: .tainted(.html))) } diff --git a/Sources/HTMLKit/Abstraction/Elements/ListElements.swift b/Sources/HTMLKit/Abstraction/Elements/ListElements.swift index 8b683c1e..e5496b07 100644 --- a/Sources/HTMLKit/Abstraction/Elements/ListElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/ListElements.swift @@ -77,7 +77,7 @@ public struct ListItem: ContentNode, ListElement { } } -extension ListItem: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, ValueAttribute, RequiredAccessibilityAttribute { +extension ListItem: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, ValueAttribute, RequiredAccessibilityAttribute { public func accessKey(_ value: Character) -> ListItem { return mutate(accesskey: .init("\(value)", context: .trusted)) @@ -428,10 +428,15 @@ extension ListItem: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> ListItem { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> ListItem { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> ListItem { return mutate(ariaowns: .init(value, context: .tainted(.html))) } diff --git a/Sources/HTMLKit/Abstraction/Elements/MapElements.swift b/Sources/HTMLKit/Abstraction/Elements/MapElements.swift index 580d3e1a..c5f412db 100644 --- a/Sources/HTMLKit/Abstraction/Elements/MapElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/MapElements.swift @@ -458,10 +458,15 @@ extension Area: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, A return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Area { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Area { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Area { return mutate(ariaowns: .init(value, context: .tainted(.html))) } diff --git a/Sources/HTMLKit/Abstraction/Elements/RubyElements.swift b/Sources/HTMLKit/Abstraction/Elements/RubyElements.swift index ed662e41..507ee79e 100644 --- a/Sources/HTMLKit/Abstraction/Elements/RubyElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/RubyElements.swift @@ -417,10 +417,15 @@ extension RubyText: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> RubyText { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> RubyText { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> RubyText { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -849,10 +854,15 @@ extension RubyPronunciation: GlobalAttributes, GlobalEventAttributes, GlobalAria return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> RubyPronunciation { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> RubyPronunciation { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> RubyPronunciation { return mutate(ariaowns: .init(value, context: .tainted(.html))) } diff --git a/Sources/HTMLKit/Abstraction/Elements/TableElements.swift b/Sources/HTMLKit/Abstraction/Elements/TableElements.swift index 76ec663f..9864975c 100644 --- a/Sources/HTMLKit/Abstraction/Elements/TableElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/TableElements.swift @@ -440,10 +440,15 @@ extension Caption: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> Caption { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> Caption { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> Caption { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -1520,10 +1525,15 @@ extension TableBody: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> TableBody { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> TableBody { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> TableBody { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -1963,10 +1973,15 @@ extension TableHead: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> TableHead { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> TableHead { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> TableHead { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -2398,10 +2413,15 @@ extension TableFoot: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> TableFoot { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> TableFoot { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> TableFoot { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -2835,10 +2855,15 @@ extension TableRow: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> TableRow { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> TableRow { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> TableRow { return mutate(ariaowns: .init(value, context: .tainted(.html))) } @@ -3278,6 +3303,11 @@ extension DataCell: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> DataCell { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> DataCell { return mutate(arialive: .init(value.rawValue, context: .trusted)) } @@ -3724,10 +3754,15 @@ extension HeaderCell: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribu return mutate(arialabeledby: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityLive(_:) modifier instead.") public func aria(live value: Values.Accessibility.Live) -> HeaderCell { return mutate(arialive: .init(value.rawValue, context: .trusted)) } + public func accessibilityLive(_ value: Values.Accessibility.Live) -> HeaderCell { + return mutate(arialive: .init(value.rawValue, context: .trusted)) + } + public func aria(owns value: String) -> HeaderCell { return mutate(ariaowns: .init(value, context: .tainted(.html))) } diff --git a/Tests/HTMLKitTests/AttributesTests.swift b/Tests/HTMLKitTests/AttributesTests.swift index 5332a509..42d85284 100644 --- a/Tests/HTMLKitTests/AttributesTests.swift +++ b/Tests/HTMLKitTests/AttributesTests.swift @@ -15,7 +15,7 @@ final class AttributesTests: XCTestCase { @ContentBuilder var body: Content } - typealias AllAttributes = AccessKeyAttribute & AcceptAttribute & ActionAttribute & AlternateAttribute & AsynchronouslyAttribute & AutocapitalizeAttribute & AutocompleteAttribute & AutofocusAttribute & AutoplayAttribute & CharsetAttribute & CheckedAttribute & CiteAttribute & ClassAttribute & ColumnsAttribute & ColumnSpanAttribute & ContentAttribute & EditAttribute & ControlsAttribute & CoordinatesAttribute & DataAttribute & DateTimeAttribute & DefaultAttribute & DeferAttribute & DirectionAttribute & DisabledAttribute & DownloadAttribute & DragAttribute & EncodingAttribute & EnterKeyAttribute & ForAttribute & FormAttribute & FormActionAttribute & EquivalentAttribute & HeadersAttribute & HeightAttribute & HiddenAttribute & HighAttribute & ReferenceAttribute & ReferenceLanguageAttribute & IdentifierAttribute & IsMapAttribute & InputModeAttribute & IsAttribute & ItemAttribute & ItemPropertyAttribute & KindAttribute & LabelAttribute & LanguageAttribute & ListAttribute & LoopAttribute & LowAttribute & MaximumValueAttribute & MaximumLengthAttribute & MediaAttribute & MethodAttribute & MinimumValueAttribute & MinimumLengthAttribute & MultipleAttribute & MutedAttribute & NameAttribute & NonceAttribute & NoValidateAttribute & OpenAttribute & OptimumAttribute & PatternAttribute & PartAttribute & PingAttribute & PlaceholderAttribute & PosterAttribute & PreloadAttribute & ReadOnlyAttribute & ReferrerPolicyAttribute & RelationshipAttribute & RequiredAttribute & ReversedAttribute & RoleAttribute & RowsAttribute & RowSpanAttribute & SandboxAttribute & ScopeAttribute & ShapeAttribute & SizeAttribute & SizesAttribute & SlotAttribute & SpanAttribute & SpellCheckAttribute & SourceAttribute & StartAttribute & StepAttribute & StyleAttribute & TabulatorAttribute & TargetAttribute & TitleAttribute & TranslateAttribute & TypeAttribute & ValueAttribute & WidthAttribute & WrapAttribute & PropertyAttribute & SelectedAttribute & WindowEventAttribute & FocusEventAttribute & PointerEventAttribute & MouseEventAttribute & WheelEventAttribute & InputEventAttribute & KeyboardEventAttribute & DragEventAttribute & ClipboardEventAttribute & SelectionEventAttribute & MediaEventAttribute & FormEventAttribute & DetailEventAttribute & AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & AriaDisabledAttribute & AriaErrorMessageAttribute & FlowAccessibilityAttribute & AriaPopupAttribute & HiddenAccessibilityAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & LabelAccessibilityAttribute & AriaLabeledAttribute & AriaLiveAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute & SortAccessibilityAttribute & OrientationAccessibilityAttribute & RequiredAccessibilityAttribute & ReadOnlyAccessibilityAttribute & ModalAccessibilityAttribute & LevelAccessibilityAttribute & DrawAttribute & FillAttribute & FillOpacityAttribute & StrokeAttribute & StrokeWidthAttribute & StrokeOpacityAttribute & StrokeLineCapAttribute & StrokeLineJoinAttribute & RadiusAttribute & PositionPointAttribute & RadiusPointAttribute & CenterPointAttribute & ViewBoxAttribute & NamespaceAttribute & PointsAttribute & ShadowRootModeAttribute & InertAttribute & FetchPriorityAttribute & LoadingAttribute & SourceSetAttribute & DecodingAttribute & BlockingAttribute & PopoverAttribute & PopoverTargetAttribute & PopoverActionAttribute & UseMapAttribute & PlaysInlineAttribute & IntegrityAttribute & AsAttribute & CrossOriginAttribute & SourceLanguageAttribute & SourceDocumentAttribute + typealias AllAttributes = AccessKeyAttribute & AcceptAttribute & ActionAttribute & AlternateAttribute & AsynchronouslyAttribute & AutocapitalizeAttribute & AutocompleteAttribute & AutofocusAttribute & AutoplayAttribute & CharsetAttribute & CheckedAttribute & CiteAttribute & ClassAttribute & ColumnsAttribute & ColumnSpanAttribute & ContentAttribute & EditAttribute & ControlsAttribute & CoordinatesAttribute & DataAttribute & DateTimeAttribute & DefaultAttribute & DeferAttribute & DirectionAttribute & DisabledAttribute & DownloadAttribute & DragAttribute & EncodingAttribute & EnterKeyAttribute & ForAttribute & FormAttribute & FormActionAttribute & EquivalentAttribute & HeadersAttribute & HeightAttribute & HiddenAttribute & HighAttribute & ReferenceAttribute & ReferenceLanguageAttribute & IdentifierAttribute & IsMapAttribute & InputModeAttribute & IsAttribute & ItemAttribute & ItemPropertyAttribute & KindAttribute & LabelAttribute & LanguageAttribute & ListAttribute & LoopAttribute & LowAttribute & MaximumValueAttribute & MaximumLengthAttribute & MediaAttribute & MethodAttribute & MinimumValueAttribute & MinimumLengthAttribute & MultipleAttribute & MutedAttribute & NameAttribute & NonceAttribute & NoValidateAttribute & OpenAttribute & OptimumAttribute & PatternAttribute & PartAttribute & PingAttribute & PlaceholderAttribute & PosterAttribute & PreloadAttribute & ReadOnlyAttribute & ReferrerPolicyAttribute & RelationshipAttribute & RequiredAttribute & ReversedAttribute & RoleAttribute & RowsAttribute & RowSpanAttribute & SandboxAttribute & ScopeAttribute & ShapeAttribute & SizeAttribute & SizesAttribute & SlotAttribute & SpanAttribute & SpellCheckAttribute & SourceAttribute & StartAttribute & StepAttribute & StyleAttribute & TabulatorAttribute & TargetAttribute & TitleAttribute & TranslateAttribute & TypeAttribute & ValueAttribute & WidthAttribute & WrapAttribute & PropertyAttribute & SelectedAttribute & WindowEventAttribute & FocusEventAttribute & PointerEventAttribute & MouseEventAttribute & WheelEventAttribute & InputEventAttribute & KeyboardEventAttribute & DragEventAttribute & ClipboardEventAttribute & SelectionEventAttribute & MediaEventAttribute & FormEventAttribute & DetailEventAttribute & AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & AriaDisabledAttribute & AriaErrorMessageAttribute & FlowAccessibilityAttribute & AriaPopupAttribute & HiddenAccessibilityAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & LabelAccessibilityAttribute & AriaLabeledAttribute & LiveAccessibilityAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute & SortAccessibilityAttribute & OrientationAccessibilityAttribute & RequiredAccessibilityAttribute & ReadOnlyAccessibilityAttribute & ModalAccessibilityAttribute & LevelAccessibilityAttribute & DrawAttribute & FillAttribute & FillOpacityAttribute & StrokeAttribute & StrokeWidthAttribute & StrokeOpacityAttribute & StrokeLineCapAttribute & StrokeLineJoinAttribute & RadiusAttribute & PositionPointAttribute & RadiusPointAttribute & CenterPointAttribute & ViewBoxAttribute & NamespaceAttribute & PointsAttribute & ShadowRootModeAttribute & InertAttribute & FetchPriorityAttribute & LoadingAttribute & SourceSetAttribute & DecodingAttribute & BlockingAttribute & PopoverAttribute & PopoverTargetAttribute & PopoverActionAttribute & UseMapAttribute & PlaysInlineAttribute & IntegrityAttribute & AsAttribute & CrossOriginAttribute & SourceLanguageAttribute & SourceDocumentAttribute struct Tag: ContentNode, GlobalElement, AllAttributes { @@ -1004,7 +1004,7 @@ final class AttributesTests: XCTestCase { return mutate(arialabeledby: .init(value, context: .tainted(.html))) } - func aria(live value: Values.Accessibility.Live) -> Tag { + func accessibilityLive(_ value: Values.Accessibility.Live) -> Tag { return mutate(arialive: .init(value.rawValue, context: .trusted)) } @@ -3004,12 +3004,16 @@ final class AttributesTests: XCTestCase { func testLiveAriaAttribute() throws { let view = TestView { - Tag {}.aria(live: .polite) + Tag {}.accessibilityLive(.polite) + Tag {}.accessibilityLive(.assertive) + Tag {}.accessibilityLive(.off) } XCTAssertEqual(try renderer.render(view: view), """ - + \ + \ + """ ) } From 533b1a8f1100a2c56585140eb8a2f4f0d8c173e0 Mon Sep 17 00:00:00 2001 From: Mattes Mohr Date: Tue, 24 Feb 2026 20:40:36 +0100 Subject: [PATCH 11/12] Revise the hint attribute --- .../Attributes/AriaAttributes.swift | 49 ++++++++++++++++--- .../Abstraction/Elements/BodyElements.swift | 15 +++++- Tests/HTMLKitTests/AttributesTests.swift | 28 ++++++++++- 3 files changed, 82 insertions(+), 10 deletions(-) diff --git a/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift b/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift index 7464c9ad..8dceca6f 100644 --- a/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift +++ b/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift @@ -862,26 +862,59 @@ extension AriaOwnsAttribute where Self: EmptyNode { } } -/// The protocol provides the element with accessibility handler. +/// A type that provides the `accessibilityHint` modifier. @_documentation(visibility: internal) -public protocol AriaPlaceholderAttribute: Attribute { +public protocol HintAccessibilityAttribute: Attribute { - /// The function represents the html-attribute 'aria-placeholder'. + /// Provide a short hint. + /// + /// ```swift + /// Division { + /// } + /// .role(.textbox) + /// .accessibilityHint("Lorem ipsum") + /// ``` + /// - Parameter value: A hint to give more context. /// - /// ```html - /// + /// - Returns: The element + func accessibilityHint(_ value: String) -> Self + + /// Provide a localized short hint. + /// + /// ```swift + /// Division { + /// } + /// .role(.textbox) + /// .accessibilityHint("Lorem ipsum") /// ``` - func aria(placeholder value: String) -> Self + /// - Parameter localizedKey: The string key to be translated. + /// - Parameter tableName: The translation table to look in. + /// + /// - Returns: The element + func accessibilityHint(_ localized: LocalizedStringKey, tableName: String?) -> Self + + /// Provide a short hint without localization. + /// + /// ```swift + /// Division { + /// } + /// .role(.textbox) + /// .accessibilityHint(verbatim: "Lorem ipsum") + /// ``` + /// - Parameter value: A hint to give more context. + /// + /// - Returns: The element + func accessibilityHint(verbatim value: String) -> Self } -extension AriaPlaceholderAttribute where Self: ContentNode { +extension HintAccessibilityAttribute where Self: ContentNode { internal func mutate(ariaplaceholder value: AttributeData) -> Self { return self.mutate(key: "aria-placeholder", value: value) } } -extension AriaPlaceholderAttribute where Self: EmptyNode { +extension HintAccessibilityAttribute where Self: EmptyNode { internal func mutate(ariaplaceholder value: AttributeData) -> Self { return self.mutate(key: "aria-placeholder", value: value) diff --git a/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift b/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift index 417b712b..cedaa66d 100644 --- a/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift @@ -12919,7 +12919,7 @@ public struct Division: ContentNode, HtmlElement, BodyElement, FormElement, Figu } } -extension Division: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, OrientationAccessibilityAttribute, RequiredAccessibilityAttribute, ReadOnlyAccessibilityAttribute, ModalAccessibilityAttribute, LevelAccessibilityAttribute { +extension Division: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, OrientationAccessibilityAttribute, RequiredAccessibilityAttribute, ReadOnlyAccessibilityAttribute, ModalAccessibilityAttribute, LevelAccessibilityAttribute, HintAccessibilityAttribute { public func accessKey(_ value: Character) -> Division { return mutate(accesskey: .init("\(value)", context: .trusted)) @@ -13297,6 +13297,19 @@ extension Division: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute public func accessibilityLevel(_ value: Int) -> Division { return mutate(arialevel: .init(value, context: .trusted)) } + + @_disfavoredOverload + public func accessibilityHint(_ value: String) -> Division { + return mutate(ariaplaceholder: .init(value, context: .tainted(.html))) + } + + public func accessibilityHint(_ localized: LocalizedStringKey, tableName: String? = nil) -> Division { + return mutate(ariaplaceholder: .init(LocalizedString(key: localized, table: tableName), context: .tainted(.html))) + } + + public func accessibilityHint(verbatim value: String) -> Division { + return mutate(ariaplaceholder: .init(value, context: .tainted(.html))) + } } /// An element that represents a term definition. diff --git a/Tests/HTMLKitTests/AttributesTests.swift b/Tests/HTMLKitTests/AttributesTests.swift index 42d85284..56ac3fec 100644 --- a/Tests/HTMLKitTests/AttributesTests.swift +++ b/Tests/HTMLKitTests/AttributesTests.swift @@ -15,7 +15,7 @@ final class AttributesTests: XCTestCase { @ContentBuilder var body: Content } - typealias AllAttributes = AccessKeyAttribute & AcceptAttribute & ActionAttribute & AlternateAttribute & AsynchronouslyAttribute & AutocapitalizeAttribute & AutocompleteAttribute & AutofocusAttribute & AutoplayAttribute & CharsetAttribute & CheckedAttribute & CiteAttribute & ClassAttribute & ColumnsAttribute & ColumnSpanAttribute & ContentAttribute & EditAttribute & ControlsAttribute & CoordinatesAttribute & DataAttribute & DateTimeAttribute & DefaultAttribute & DeferAttribute & DirectionAttribute & DisabledAttribute & DownloadAttribute & DragAttribute & EncodingAttribute & EnterKeyAttribute & ForAttribute & FormAttribute & FormActionAttribute & EquivalentAttribute & HeadersAttribute & HeightAttribute & HiddenAttribute & HighAttribute & ReferenceAttribute & ReferenceLanguageAttribute & IdentifierAttribute & IsMapAttribute & InputModeAttribute & IsAttribute & ItemAttribute & ItemPropertyAttribute & KindAttribute & LabelAttribute & LanguageAttribute & ListAttribute & LoopAttribute & LowAttribute & MaximumValueAttribute & MaximumLengthAttribute & MediaAttribute & MethodAttribute & MinimumValueAttribute & MinimumLengthAttribute & MultipleAttribute & MutedAttribute & NameAttribute & NonceAttribute & NoValidateAttribute & OpenAttribute & OptimumAttribute & PatternAttribute & PartAttribute & PingAttribute & PlaceholderAttribute & PosterAttribute & PreloadAttribute & ReadOnlyAttribute & ReferrerPolicyAttribute & RelationshipAttribute & RequiredAttribute & ReversedAttribute & RoleAttribute & RowsAttribute & RowSpanAttribute & SandboxAttribute & ScopeAttribute & ShapeAttribute & SizeAttribute & SizesAttribute & SlotAttribute & SpanAttribute & SpellCheckAttribute & SourceAttribute & StartAttribute & StepAttribute & StyleAttribute & TabulatorAttribute & TargetAttribute & TitleAttribute & TranslateAttribute & TypeAttribute & ValueAttribute & WidthAttribute & WrapAttribute & PropertyAttribute & SelectedAttribute & WindowEventAttribute & FocusEventAttribute & PointerEventAttribute & MouseEventAttribute & WheelEventAttribute & InputEventAttribute & KeyboardEventAttribute & DragEventAttribute & ClipboardEventAttribute & SelectionEventAttribute & MediaEventAttribute & FormEventAttribute & DetailEventAttribute & AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & AriaDisabledAttribute & AriaErrorMessageAttribute & FlowAccessibilityAttribute & AriaPopupAttribute & HiddenAccessibilityAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & LabelAccessibilityAttribute & AriaLabeledAttribute & LiveAccessibilityAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute & SortAccessibilityAttribute & OrientationAccessibilityAttribute & RequiredAccessibilityAttribute & ReadOnlyAccessibilityAttribute & ModalAccessibilityAttribute & LevelAccessibilityAttribute & DrawAttribute & FillAttribute & FillOpacityAttribute & StrokeAttribute & StrokeWidthAttribute & StrokeOpacityAttribute & StrokeLineCapAttribute & StrokeLineJoinAttribute & RadiusAttribute & PositionPointAttribute & RadiusPointAttribute & CenterPointAttribute & ViewBoxAttribute & NamespaceAttribute & PointsAttribute & ShadowRootModeAttribute & InertAttribute & FetchPriorityAttribute & LoadingAttribute & SourceSetAttribute & DecodingAttribute & BlockingAttribute & PopoverAttribute & PopoverTargetAttribute & PopoverActionAttribute & UseMapAttribute & PlaysInlineAttribute & IntegrityAttribute & AsAttribute & CrossOriginAttribute & SourceLanguageAttribute & SourceDocumentAttribute + typealias AllAttributes = AccessKeyAttribute & AcceptAttribute & ActionAttribute & AlternateAttribute & AsynchronouslyAttribute & AutocapitalizeAttribute & AutocompleteAttribute & AutofocusAttribute & AutoplayAttribute & CharsetAttribute & CheckedAttribute & CiteAttribute & ClassAttribute & ColumnsAttribute & ColumnSpanAttribute & ContentAttribute & EditAttribute & ControlsAttribute & CoordinatesAttribute & DataAttribute & DateTimeAttribute & DefaultAttribute & DeferAttribute & DirectionAttribute & DisabledAttribute & DownloadAttribute & DragAttribute & EncodingAttribute & EnterKeyAttribute & ForAttribute & FormAttribute & FormActionAttribute & EquivalentAttribute & HeadersAttribute & HeightAttribute & HiddenAttribute & HighAttribute & ReferenceAttribute & ReferenceLanguageAttribute & IdentifierAttribute & IsMapAttribute & InputModeAttribute & IsAttribute & ItemAttribute & ItemPropertyAttribute & KindAttribute & LabelAttribute & LanguageAttribute & ListAttribute & LoopAttribute & LowAttribute & MaximumValueAttribute & MaximumLengthAttribute & MediaAttribute & MethodAttribute & MinimumValueAttribute & MinimumLengthAttribute & MultipleAttribute & MutedAttribute & NameAttribute & NonceAttribute & NoValidateAttribute & OpenAttribute & OptimumAttribute & PatternAttribute & PartAttribute & PingAttribute & PlaceholderAttribute & PosterAttribute & PreloadAttribute & ReadOnlyAttribute & ReferrerPolicyAttribute & RelationshipAttribute & RequiredAttribute & ReversedAttribute & RoleAttribute & RowsAttribute & RowSpanAttribute & SandboxAttribute & ScopeAttribute & ShapeAttribute & SizeAttribute & SizesAttribute & SlotAttribute & SpanAttribute & SpellCheckAttribute & SourceAttribute & StartAttribute & StepAttribute & StyleAttribute & TabulatorAttribute & TargetAttribute & TitleAttribute & TranslateAttribute & TypeAttribute & ValueAttribute & WidthAttribute & WrapAttribute & PropertyAttribute & SelectedAttribute & WindowEventAttribute & FocusEventAttribute & PointerEventAttribute & MouseEventAttribute & WheelEventAttribute & InputEventAttribute & KeyboardEventAttribute & DragEventAttribute & ClipboardEventAttribute & SelectionEventAttribute & MediaEventAttribute & FormEventAttribute & DetailEventAttribute & AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & AriaDisabledAttribute & AriaErrorMessageAttribute & FlowAccessibilityAttribute & AriaPopupAttribute & HiddenAccessibilityAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & LabelAccessibilityAttribute & AriaLabeledAttribute & LiveAccessibilityAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute & SortAccessibilityAttribute & OrientationAccessibilityAttribute & RequiredAccessibilityAttribute & ReadOnlyAccessibilityAttribute & ModalAccessibilityAttribute & LevelAccessibilityAttribute & HintAccessibilityAttribute & DrawAttribute & FillAttribute & FillOpacityAttribute & StrokeAttribute & StrokeWidthAttribute & StrokeOpacityAttribute & StrokeLineCapAttribute & StrokeLineJoinAttribute & RadiusAttribute & PositionPointAttribute & RadiusPointAttribute & CenterPointAttribute & ViewBoxAttribute & NamespaceAttribute & PointsAttribute & ShadowRootModeAttribute & InertAttribute & FetchPriorityAttribute & LoadingAttribute & SourceSetAttribute & DecodingAttribute & BlockingAttribute & PopoverAttribute & PopoverTargetAttribute & PopoverActionAttribute & UseMapAttribute & PlaysInlineAttribute & IntegrityAttribute & AsAttribute & CrossOriginAttribute & SourceLanguageAttribute & SourceDocumentAttribute struct Tag: ContentNode, GlobalElement, AllAttributes { @@ -1044,6 +1044,19 @@ final class AttributesTests: XCTestCase { return mutate(arialevel: .init(value, context: .trusted)) } + @_disfavoredOverload + func accessibilityHint(_ value: String) -> Tag { + return mutate(ariaplaceholder: .init(value, context: .tainted(.html))) + } + + func accessibilityHint(_ localized: LocalizedStringKey, tableName: String? = nil) -> Tag { + return mutate(ariaplaceholder: .init(LocalizedString(key: localized, table: tableName), context: .tainted(.html))) + } + + func accessibilityHint(verbatim value: String) -> Tag { + return mutate(ariaplaceholder: .init(value, context: .tainted(.html))) + } + func shadowRootMode(_ value: Values.Shadow.Mode) -> Tag { return mutate(shadowrootmode: .init(value.rawValue, context: .trusted)) } @@ -3151,6 +3164,19 @@ final class AttributesTests: XCTestCase { ) } + func testHintAccessibilityAttribute() throws { + + let view = TestView { + Tag {}.accessibilityHint("Lorem ipsum...") + } + + XCTAssertEqual(try renderer.render(view: view), + """ + + """ + ) + } + func testDrawAttribute() throws { let view = TestView { From 35e6939381ad98c7ab6c8849d76e2ede320d6d64 Mon Sep 17 00:00:00 2001 From: Mattes Mohr Date: Wed, 25 Feb 2026 20:33:32 +0100 Subject: [PATCH 12/12] Revise the disabled attribute --- .../Attributes/AriaAttributes.swift | 25 +- .../Abstraction/Elements/BodyElements.swift | 335 ++++++++++++++++++ .../Elements/DefinitionElements.swift | 10 + .../Abstraction/Elements/FigureElements.swift | 5 + .../Abstraction/Elements/FormElements.swift | 20 ++ .../Abstraction/Elements/HtmlElements.swift | 5 + .../Abstraction/Elements/InputElements.swift | 20 ++ .../Abstraction/Elements/ListElements.swift | 5 + .../Abstraction/Elements/MapElements.swift | 5 + .../Abstraction/Elements/RubyElements.swift | 10 + .../Abstraction/Elements/TableElements.swift | 35 ++ Tests/HTMLKitTests/AttributesTests.swift | 12 +- 12 files changed, 474 insertions(+), 13 deletions(-) diff --git a/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift b/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift index 8dceca6f..f7c62d7e 100644 --- a/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift +++ b/Sources/HTMLKit/Abstraction/Attributes/AriaAttributes.swift @@ -1,5 +1,5 @@ @_documentation(visibility: internal) -public typealias GlobalAriaAttributes = AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & AriaDisabledAttribute & AriaErrorMessageAttribute & FlowAccessibilityAttribute & AriaPopupAttribute & HiddenAccessibilityAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & LabelAccessibilityAttribute & AriaLabeledAttribute & LiveAccessibilityAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute +public typealias GlobalAriaAttributes = AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & DisabledAccessibilityAttribute & AriaErrorMessageAttribute & FlowAccessibilityAttribute & AriaPopupAttribute & HiddenAccessibilityAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & LabelAccessibilityAttribute & AriaLabeledAttribute & LiveAccessibilityAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute /// The protocol provides the element with accessibility handler. @_documentation(visibility: internal) @@ -314,26 +314,33 @@ extension AriaDetailsAttribute where Self: EmptyNode { } } -/// The protocol provides the element with accessibility handler. +/// A type that provides the `accessibilityDisabled` modifier. @_documentation(visibility: internal) -public protocol AriaDisabledAttribute: Attribute { +public protocol DisabledAccessibilityAttribute: Attribute { - /// The function represents the html-attribute 'aria-disabled'. + /// Indicate that the element is perceivable but disabled. /// - /// ```html - /// + /// ```swift + /// Division { + /// } + /// .role(.button) + /// .accessibilityDisabled() /// ``` - func aria(disabled value: Bool) -> Self + /// + /// - Parameter value: Whether the element is disabled. + /// + /// - Returns: The element + func accessibilityDisabled(_ value: Bool) -> Self } -extension AriaDisabledAttribute where Self: ContentNode { +extension DisabledAccessibilityAttribute where Self: ContentNode { internal func mutate(ariadisabled value: AttributeData) -> Self { return self.mutate(key: "aria-disabled", value: value) } } -extension AriaDisabledAttribute where Self: EmptyNode { +extension DisabledAccessibilityAttribute where Self: EmptyNode { internal func mutate(ariadisabled value: AttributeData) -> Self { return self.mutate(key: "aria-disabled", value: value) diff --git a/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift b/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift index cedaa66d..c493a3f8 100644 --- a/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/BodyElements.swift @@ -492,10 +492,15 @@ extension Article: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Article { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Article { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Article { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -924,10 +929,15 @@ extension Section: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Section { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Section { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Section { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -1358,10 +1368,15 @@ extension Navigation: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribu return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Navigation { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Navigation { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Navigation { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -1788,10 +1803,15 @@ extension Aside: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Aside { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Aside { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Aside { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -2215,10 +2235,15 @@ extension Heading1: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Heading1 { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Heading1 { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Heading1 { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -2651,10 +2676,15 @@ extension Heading2: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Heading2 { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Heading2 { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Heading2 { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -3087,10 +3117,15 @@ extension Heading3: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Heading3 { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Heading3 { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Heading3 { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -3523,10 +3558,15 @@ extension Heading4: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Heading4 { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Heading4 { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Heading4 { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -3959,10 +3999,15 @@ extension Heading5: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Heading5 { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Heading5 { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Heading5 { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -4395,10 +4440,15 @@ extension Heading6: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Heading6 { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Heading6 { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Heading6 { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -4836,10 +4886,15 @@ extension HeadingGroup: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttri return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> HeadingGroup { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> HeadingGroup { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> HeadingGroup { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -5264,10 +5319,15 @@ extension Header: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Header { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Header { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Header { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -5690,10 +5750,15 @@ extension Footer: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Footer { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Footer { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Footer { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -6123,10 +6188,15 @@ extension Address: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Address { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Address { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Address { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -6550,10 +6620,15 @@ extension Paragraph: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Paragraph { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Paragraph { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Paragraph { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -6981,10 +7056,15 @@ extension HorizontalRule: GlobalAttributes, GlobalEventAttributes, GlobalAriaAtt return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> HorizontalRule { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> HorizontalRule { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> HorizontalRule { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -7414,10 +7494,15 @@ extension PreformattedText: GlobalAttributes, GlobalEventAttributes, GlobalAriaA return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> PreformattedText { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> PreformattedText { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> PreformattedText { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -7845,10 +7930,15 @@ extension Blockquote: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribu return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Blockquote { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Blockquote { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Blockquote { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -8298,10 +8388,15 @@ extension OrderedList: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttrib return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> OrderedList { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> OrderedList { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> OrderedList { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -8734,10 +8829,15 @@ extension UnorderedList: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttr return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> UnorderedList { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> UnorderedList { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> UnorderedList { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -9482,10 +9582,15 @@ extension DescriptionList: GlobalAttributes, GlobalEventAttributes, GlobalAriaAt return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> DescriptionList { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> DescriptionList { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> DescriptionList { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -9914,10 +10019,15 @@ extension Figure: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Figure { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Figure { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Figure { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -10387,10 +10497,15 @@ extension Anchor: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Anchor { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Anchor { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Anchor { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -10827,10 +10942,15 @@ extension Emphasize: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Emphasize { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Emphasize { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Emphasize { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -11256,10 +11376,15 @@ extension Strong: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Strong { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Strong { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Strong { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -11685,10 +11810,15 @@ extension Small: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Small { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Small { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Small { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -12461,10 +12591,15 @@ extension Main: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Main { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Main { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Main { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -13194,10 +13329,15 @@ extension Division: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Division { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Division { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Division { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -13659,10 +13799,15 @@ extension Definition: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribu return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Definition { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Definition { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Definition { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -14089,10 +14234,15 @@ extension Cite: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Cite { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Cite { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Cite { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -14522,10 +14672,15 @@ extension ShortQuote: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribu return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> ShortQuote { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> ShortQuote { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> ShortQuote { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -14952,10 +15107,15 @@ extension Abbreviation: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttri return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Abbreviation { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Abbreviation { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Abbreviation { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -15382,10 +15542,15 @@ extension Ruby: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Ruby { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Ruby { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Ruby { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -15827,10 +15992,15 @@ extension Data: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, V return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Data { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Data { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Data { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -16262,10 +16432,15 @@ extension Time: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, D return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Time { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Time { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Time { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -16693,10 +16868,15 @@ extension Code: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Code { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Code { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Code { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -17124,10 +17304,15 @@ extension Variable: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Variable { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Variable { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Variable { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -17551,10 +17736,15 @@ extension SampleOutput: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttri return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> SampleOutput { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> SampleOutput { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> SampleOutput { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -17982,10 +18172,15 @@ extension KeyboardInput: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttr return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> KeyboardInput { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> KeyboardInput { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> KeyboardInput { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -18412,10 +18607,15 @@ extension Subscript: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Subscript { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Subscript { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Subscript { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -18843,10 +19043,15 @@ extension Superscript: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttrib return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Superscript { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Superscript { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Superscript { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -19274,10 +19479,15 @@ extension Italic: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Italic { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Italic { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Italic { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -19714,10 +19924,15 @@ extension Bold: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Bold { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Bold { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Bold { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -20154,10 +20369,15 @@ extension Underline: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Underline { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Underline { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Underline { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -20594,10 +20814,15 @@ extension Mark: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Mark { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Mark { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Mark { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -21025,10 +21250,15 @@ extension Bdi: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Bdi { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Bdi { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Bdi { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -21444,10 +21674,15 @@ extension Bdo: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes { return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Bdo { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Bdo { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Bdo { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -21871,10 +22106,15 @@ extension Span: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, O return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Span { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Span { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Span { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -22295,10 +22535,15 @@ extension LineBreak: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> LineBreak { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> LineBreak { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> LineBreak { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -22711,10 +22956,15 @@ extension WordBreak: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> WordBreak { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> WordBreak { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> WordBreak { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -23146,10 +23396,15 @@ extension InsertedText: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttri return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> InsertedText { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> InsertedText { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> InsertedText { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -23581,10 +23836,15 @@ extension DeletedText: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttrib return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> DeletedText { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> DeletedText { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> DeletedText { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -24398,10 +24658,15 @@ extension Image: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Image { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Image { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Image { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -24870,10 +25135,15 @@ extension InlineFrame: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttrib return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> InlineFrame { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> InlineFrame { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> InlineFrame { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -25304,10 +25574,15 @@ extension Embed: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Embed { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Embed { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Embed { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -25756,10 +26031,15 @@ extension Object: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Object { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Object { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Object { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -26244,10 +26524,15 @@ extension Video: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Video { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Video { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Video { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -26715,10 +27000,15 @@ extension Audio: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Audio { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Audio { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Audio { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -27519,10 +27809,15 @@ extension Form: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, A return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Form { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Form { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Form { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -27953,10 +28248,15 @@ extension DataList: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> DataList { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> DataList { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> DataList { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -28394,10 +28694,15 @@ extension Output: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Output { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Output { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Output { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -28840,10 +29145,15 @@ extension Progress: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Progress { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Progress { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Progress { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -29304,10 +29614,15 @@ extension Meter: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Meter { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Meter { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Meter { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -29759,10 +30074,15 @@ extension Details: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Details { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Details { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Details { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -30210,10 +30530,15 @@ extension Dialog: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Dialog { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Dialog { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Dialog { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -31655,10 +31980,15 @@ extension Canvas: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Canvas { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Canvas { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Canvas { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -32097,10 +32427,15 @@ extension Table: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Table { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Table { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Table { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } diff --git a/Sources/HTMLKit/Abstraction/Elements/DefinitionElements.swift b/Sources/HTMLKit/Abstraction/Elements/DefinitionElements.swift index 3363825c..e5475ec9 100644 --- a/Sources/HTMLKit/Abstraction/Elements/DefinitionElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/DefinitionElements.swift @@ -356,10 +356,15 @@ extension TermName: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> TermName { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> TermName { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> TermName { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -788,10 +793,15 @@ extension TermDefinition: GlobalAttributes, GlobalEventAttributes, GlobalAriaAtt return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> TermDefinition { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> TermDefinition { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> TermDefinition { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } diff --git a/Sources/HTMLKit/Abstraction/Elements/FigureElements.swift b/Sources/HTMLKit/Abstraction/Elements/FigureElements.swift index 65a6e25e..ae2c969a 100644 --- a/Sources/HTMLKit/Abstraction/Elements/FigureElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/FigureElements.swift @@ -352,10 +352,15 @@ extension FigureCaption: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttr return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> FigureCaption { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> FigureCaption { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> FigureCaption { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } diff --git a/Sources/HTMLKit/Abstraction/Elements/FormElements.swift b/Sources/HTMLKit/Abstraction/Elements/FormElements.swift index 02460850..ee040c9f 100644 --- a/Sources/HTMLKit/Abstraction/Elements/FormElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/FormElements.swift @@ -859,10 +859,15 @@ extension Label: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Label { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Label { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Label { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -1765,10 +1770,15 @@ extension TextArea: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> TextArea { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> TextArea { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> TextArea { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -2249,10 +2259,15 @@ extension Button: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Button { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Button { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Button { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -2712,10 +2727,15 @@ extension Fieldset: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Fieldset { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Fieldset { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Fieldset { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } diff --git a/Sources/HTMLKit/Abstraction/Elements/HtmlElements.swift b/Sources/HTMLKit/Abstraction/Elements/HtmlElements.swift index 3636745a..7ab9da80 100644 --- a/Sources/HTMLKit/Abstraction/Elements/HtmlElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/HtmlElements.swift @@ -671,10 +671,15 @@ extension Body: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, W return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Body { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Body { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Body { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } diff --git a/Sources/HTMLKit/Abstraction/Elements/InputElements.swift b/Sources/HTMLKit/Abstraction/Elements/InputElements.swift index c83c08f3..c1fecf73 100644 --- a/Sources/HTMLKit/Abstraction/Elements/InputElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/InputElements.swift @@ -380,10 +380,15 @@ extension OptionGroup: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttrib return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> OptionGroup { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> OptionGroup { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> OptionGroup { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -854,10 +859,15 @@ extension Option: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Option { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Option { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Option { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -1294,10 +1304,15 @@ extension Legend: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Legend { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Legend { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Legend { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -1726,10 +1741,15 @@ extension Summary: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Summary { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Summary { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Summary { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } diff --git a/Sources/HTMLKit/Abstraction/Elements/ListElements.swift b/Sources/HTMLKit/Abstraction/Elements/ListElements.swift index e5496b07..4288043a 100644 --- a/Sources/HTMLKit/Abstraction/Elements/ListElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/ListElements.swift @@ -365,10 +365,15 @@ extension ListItem: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> ListItem { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> ListItem { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> ListItem { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } diff --git a/Sources/HTMLKit/Abstraction/Elements/MapElements.swift b/Sources/HTMLKit/Abstraction/Elements/MapElements.swift index c5f412db..535334e1 100644 --- a/Sources/HTMLKit/Abstraction/Elements/MapElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/MapElements.swift @@ -395,10 +395,15 @@ extension Area: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes, A return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Area { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Area { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Area { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } diff --git a/Sources/HTMLKit/Abstraction/Elements/RubyElements.swift b/Sources/HTMLKit/Abstraction/Elements/RubyElements.swift index 507ee79e..e4acd5f3 100644 --- a/Sources/HTMLKit/Abstraction/Elements/RubyElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/RubyElements.swift @@ -354,10 +354,15 @@ extension RubyText: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> RubyText { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> RubyText { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> RubyText { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -791,10 +796,15 @@ extension RubyPronunciation: GlobalAttributes, GlobalEventAttributes, GlobalAria return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> RubyPronunciation { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> RubyPronunciation { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> RubyPronunciation { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } diff --git a/Sources/HTMLKit/Abstraction/Elements/TableElements.swift b/Sources/HTMLKit/Abstraction/Elements/TableElements.swift index 9864975c..292d85f1 100644 --- a/Sources/HTMLKit/Abstraction/Elements/TableElements.swift +++ b/Sources/HTMLKit/Abstraction/Elements/TableElements.swift @@ -377,10 +377,15 @@ extension Caption: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttributes return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> Caption { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> Caption { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> Caption { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -1462,10 +1467,15 @@ extension TableBody: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> TableBody { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> TableBody { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> TableBody { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -1910,10 +1920,15 @@ extension TableHead: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> TableHead { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> TableHead { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> TableHead { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -2350,10 +2365,15 @@ extension TableFoot: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribut return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> TableFoot { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> TableFoot { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> TableFoot { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -2792,10 +2812,15 @@ extension TableRow: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> TableRow { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> TableRow { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> TableRow { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -3240,10 +3265,15 @@ extension DataCell: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribute return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> DataCell { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> DataCell { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> DataCell { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } @@ -3691,10 +3721,15 @@ extension HeaderCell: GlobalAttributes, GlobalEventAttributes, GlobalAriaAttribu return mutate(ariadetails: .init(value, context: .tainted(.html))) } + @available(*, deprecated, message: "Use the accessibilityDisabled(_:) modifier instead.") public func aria(disabled value: Bool) -> HeaderCell { return mutate(ariadisabled: .init(value, context: .trusted)) } + public func accessibilityDisabled(_ value: Bool = true) -> HeaderCell { + return mutate(ariadisabled: .init(value, context: .trusted)) + } + public func aria(errorMessage value: String) -> HeaderCell { return mutate(ariaerrormessage: .init(value, context: .tainted(.html))) } diff --git a/Tests/HTMLKitTests/AttributesTests.swift b/Tests/HTMLKitTests/AttributesTests.swift index 56ac3fec..bad82a7f 100644 --- a/Tests/HTMLKitTests/AttributesTests.swift +++ b/Tests/HTMLKitTests/AttributesTests.swift @@ -15,7 +15,7 @@ final class AttributesTests: XCTestCase { @ContentBuilder var body: Content } - typealias AllAttributes = AccessKeyAttribute & AcceptAttribute & ActionAttribute & AlternateAttribute & AsynchronouslyAttribute & AutocapitalizeAttribute & AutocompleteAttribute & AutofocusAttribute & AutoplayAttribute & CharsetAttribute & CheckedAttribute & CiteAttribute & ClassAttribute & ColumnsAttribute & ColumnSpanAttribute & ContentAttribute & EditAttribute & ControlsAttribute & CoordinatesAttribute & DataAttribute & DateTimeAttribute & DefaultAttribute & DeferAttribute & DirectionAttribute & DisabledAttribute & DownloadAttribute & DragAttribute & EncodingAttribute & EnterKeyAttribute & ForAttribute & FormAttribute & FormActionAttribute & EquivalentAttribute & HeadersAttribute & HeightAttribute & HiddenAttribute & HighAttribute & ReferenceAttribute & ReferenceLanguageAttribute & IdentifierAttribute & IsMapAttribute & InputModeAttribute & IsAttribute & ItemAttribute & ItemPropertyAttribute & KindAttribute & LabelAttribute & LanguageAttribute & ListAttribute & LoopAttribute & LowAttribute & MaximumValueAttribute & MaximumLengthAttribute & MediaAttribute & MethodAttribute & MinimumValueAttribute & MinimumLengthAttribute & MultipleAttribute & MutedAttribute & NameAttribute & NonceAttribute & NoValidateAttribute & OpenAttribute & OptimumAttribute & PatternAttribute & PartAttribute & PingAttribute & PlaceholderAttribute & PosterAttribute & PreloadAttribute & ReadOnlyAttribute & ReferrerPolicyAttribute & RelationshipAttribute & RequiredAttribute & ReversedAttribute & RoleAttribute & RowsAttribute & RowSpanAttribute & SandboxAttribute & ScopeAttribute & ShapeAttribute & SizeAttribute & SizesAttribute & SlotAttribute & SpanAttribute & SpellCheckAttribute & SourceAttribute & StartAttribute & StepAttribute & StyleAttribute & TabulatorAttribute & TargetAttribute & TitleAttribute & TranslateAttribute & TypeAttribute & ValueAttribute & WidthAttribute & WrapAttribute & PropertyAttribute & SelectedAttribute & WindowEventAttribute & FocusEventAttribute & PointerEventAttribute & MouseEventAttribute & WheelEventAttribute & InputEventAttribute & KeyboardEventAttribute & DragEventAttribute & ClipboardEventAttribute & SelectionEventAttribute & MediaEventAttribute & FormEventAttribute & DetailEventAttribute & AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & AriaDisabledAttribute & AriaErrorMessageAttribute & FlowAccessibilityAttribute & AriaPopupAttribute & HiddenAccessibilityAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & LabelAccessibilityAttribute & AriaLabeledAttribute & LiveAccessibilityAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute & SortAccessibilityAttribute & OrientationAccessibilityAttribute & RequiredAccessibilityAttribute & ReadOnlyAccessibilityAttribute & ModalAccessibilityAttribute & LevelAccessibilityAttribute & HintAccessibilityAttribute & DrawAttribute & FillAttribute & FillOpacityAttribute & StrokeAttribute & StrokeWidthAttribute & StrokeOpacityAttribute & StrokeLineCapAttribute & StrokeLineJoinAttribute & RadiusAttribute & PositionPointAttribute & RadiusPointAttribute & CenterPointAttribute & ViewBoxAttribute & NamespaceAttribute & PointsAttribute & ShadowRootModeAttribute & InertAttribute & FetchPriorityAttribute & LoadingAttribute & SourceSetAttribute & DecodingAttribute & BlockingAttribute & PopoverAttribute & PopoverTargetAttribute & PopoverActionAttribute & UseMapAttribute & PlaysInlineAttribute & IntegrityAttribute & AsAttribute & CrossOriginAttribute & SourceLanguageAttribute & SourceDocumentAttribute + typealias AllAttributes = AccessKeyAttribute & AcceptAttribute & ActionAttribute & AlternateAttribute & AsynchronouslyAttribute & AutocapitalizeAttribute & AutocompleteAttribute & AutofocusAttribute & AutoplayAttribute & CharsetAttribute & CheckedAttribute & CiteAttribute & ClassAttribute & ColumnsAttribute & ColumnSpanAttribute & ContentAttribute & EditAttribute & ControlsAttribute & CoordinatesAttribute & DataAttribute & DateTimeAttribute & DefaultAttribute & DeferAttribute & DirectionAttribute & DisabledAttribute & DownloadAttribute & DragAttribute & EncodingAttribute & EnterKeyAttribute & ForAttribute & FormAttribute & FormActionAttribute & EquivalentAttribute & HeadersAttribute & HeightAttribute & HiddenAttribute & HighAttribute & ReferenceAttribute & ReferenceLanguageAttribute & IdentifierAttribute & IsMapAttribute & InputModeAttribute & IsAttribute & ItemAttribute & ItemPropertyAttribute & KindAttribute & LabelAttribute & LanguageAttribute & ListAttribute & LoopAttribute & LowAttribute & MaximumValueAttribute & MaximumLengthAttribute & MediaAttribute & MethodAttribute & MinimumValueAttribute & MinimumLengthAttribute & MultipleAttribute & MutedAttribute & NameAttribute & NonceAttribute & NoValidateAttribute & OpenAttribute & OptimumAttribute & PatternAttribute & PartAttribute & PingAttribute & PlaceholderAttribute & PosterAttribute & PreloadAttribute & ReadOnlyAttribute & ReferrerPolicyAttribute & RelationshipAttribute & RequiredAttribute & ReversedAttribute & RoleAttribute & RowsAttribute & RowSpanAttribute & SandboxAttribute & ScopeAttribute & ShapeAttribute & SizeAttribute & SizesAttribute & SlotAttribute & SpanAttribute & SpellCheckAttribute & SourceAttribute & StartAttribute & StepAttribute & StyleAttribute & TabulatorAttribute & TargetAttribute & TitleAttribute & TranslateAttribute & TypeAttribute & ValueAttribute & WidthAttribute & WrapAttribute & PropertyAttribute & SelectedAttribute & WindowEventAttribute & FocusEventAttribute & PointerEventAttribute & MouseEventAttribute & WheelEventAttribute & InputEventAttribute & KeyboardEventAttribute & DragEventAttribute & ClipboardEventAttribute & SelectionEventAttribute & MediaEventAttribute & FormEventAttribute & DetailEventAttribute & AriaAtomicAttribute & AriaBusyAttribute & AriaControlsAttribute & AriaCurrentAttribute & AriaDescribedAttribute & AriaDetailsAttribute & DisabledAccessibilityAttribute & AriaErrorMessageAttribute & FlowAccessibilityAttribute & AriaPopupAttribute & HiddenAccessibilityAttribute & AriaInvalidAttribute & AriaShortcutsAttribute & LabelAccessibilityAttribute & AriaLabeledAttribute & LiveAccessibilityAttribute & AriaOwnsAttribute & AriaRelevantAttribute & AriaRoleDescriptionAttribute & SortAccessibilityAttribute & OrientationAccessibilityAttribute & RequiredAccessibilityAttribute & ReadOnlyAccessibilityAttribute & ModalAccessibilityAttribute & LevelAccessibilityAttribute & HintAccessibilityAttribute & DrawAttribute & FillAttribute & FillOpacityAttribute & StrokeAttribute & StrokeWidthAttribute & StrokeOpacityAttribute & StrokeLineCapAttribute & StrokeLineJoinAttribute & RadiusAttribute & PositionPointAttribute & RadiusPointAttribute & CenterPointAttribute & ViewBoxAttribute & NamespaceAttribute & PointsAttribute & ShadowRootModeAttribute & InertAttribute & FetchPriorityAttribute & LoadingAttribute & SourceSetAttribute & DecodingAttribute & BlockingAttribute & PopoverAttribute & PopoverTargetAttribute & PopoverActionAttribute & UseMapAttribute & PlaysInlineAttribute & IntegrityAttribute & AsAttribute & CrossOriginAttribute & SourceLanguageAttribute & SourceDocumentAttribute struct Tag: ContentNode, GlobalElement, AllAttributes { @@ -956,7 +956,7 @@ final class AttributesTests: XCTestCase { return mutate(ariadetails: .init(value, context: .tainted(.html))) } - func aria(disabled value: Bool) -> Tag { + func accessibilityDisabled(_ value: Bool = true) -> Tag { return mutate(ariadisabled: .init(value, context: .trusted)) } @@ -2889,14 +2889,18 @@ final class AttributesTests: XCTestCase { ) } - func testDisabledAriaAttribute() throws { + func testDisabledAccessibilityAttribute() throws { let view = TestView { - Tag {}.aria(disabled: true) + Tag {}.accessibilityDisabled() + Tag {}.accessibilityDisabled(false) + Tag {}.accessibilityDisabled(true) } XCTAssertEqual(try renderer.render(view: view), """ + \ + \ """ )