-
Type: New Feature
-
Status: Applied
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: ODF 1.3
-
Fix Version/s: ODF 1.4
-
Component/s: Accessibility, Part 3 (Schema) [1.2: 1]
-
Labels:None
-
Proposal:Hide
19.n draw:decorative
The draw:decorative attribute specifies that the object is purely decorative and may be ignored by assistive technologies.
The default value for this attribute is false.
diff --git a/docs/odf1.4/schemas/OpenDocument-v1.3-schema.rng b/docs/odf1.4/schemas/OpenDocument-v1.3-schema.rng index ce909f5..e4caad9 100644 --- a/docs/odf1.4/schemas/OpenDocument-v1.3-schema.rng +++ b/docs/odf1.4/schemas/OpenDocument-v1.3-schema.rng @@ -1740,28 +1740,41 @@ <rng:value>scale-min</rng:value> </rng:choice> </rng:attribute> </rng:optional> <rng:optional> <rng:attribute name="style:rel-height"> <rng:choice> <rng:ref name="percent"/> <rng:value>scale</rng:value> <rng:value>scale-min</rng:value> </rng:choice> </rng:attribute> </rng:optional> </rng:define> + <rng:define name="common-draw-shape-accessibility"> + <rng:optional> + <rng:attribute name="draw:decorative"> + <rng:ref name="boolean"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:ref name="svg-title"/> + </rng:optional> + <rng:optional> + <rng:ref name="svg-desc"/> + </rng:optional> + </rng:define> <rng:define name="common-draw-shape-with-styles-attlist"> <rng:ref name="common-draw-z-index-attlist"/> <rng:ref name="common-draw-id-attlist"/> <rng:ref name="common-draw-layer-name-attlist"/> <rng:ref name="common-draw-style-name-attlist"/> <rng:ref name="common-draw-transform-attlist"/> <rng:ref name="common-draw-name-attlist"/> <rng:ref name="common-text-spreadsheet-shape-attlist"/> </rng:define> <rng:define name="common-draw-shape-with-text-and-styles-attlist"> <rng:ref name="common-draw-shape-with-styles-attlist"/> <rng:ref name="common-draw-text-style-name-attlist"/> </rng:define> <rng:define name="common-draw-size-attlist"> @@ -4176,34 +4189,29 @@ <rng:define name="dr3d-scene"> <rng:element name="dr3d:scene"> <rng:ref name="dr3d-scene-attlist"/> <!-- https://issues.oasis-open.org/browse/OFFICE-4072 --> <rng:ref name="common-draw-name-attlist"/> <rng:ref name="common-draw-position-attlist"/> <rng:ref name="common-draw-size-attlist"/> <rng:ref name="common-draw-style-name-attlist"/> <rng:ref name="common-draw-z-index-attlist"/> <rng:ref name="common-draw-id-attlist"/> <rng:ref name="common-draw-layer-name-attlist"/> <rng:ref name="common-text-spreadsheet-shape-attlist"/> <rng:ref name="common-dr3d-transform-attlist"/> <rng:ref name="common-draw-caption-id-attlist"/> - <rng:optional> - <rng:ref name="svg-title"/> - </rng:optional> - <rng:optional> - <rng:ref name="svg-desc"/> - </rng:optional> + <rng:ref name="common-draw-shape-accessibility"/> <rng:zeroOrMore> <rng:ref name="dr3d-light"/> </rng:zeroOrMore> <rng:zeroOrMore> <rng:ref name="shapes3d"/> </rng:zeroOrMore> <rng:zeroOrMore> <rng:ref name="draw-glue-point"/> </rng:zeroOrMore> </rng:element> </rng:define> <rng:define name="dr3d-scene-attlist"> <rng:interleave> <rng:optional> @@ -4456,34 +4464,29 @@ <rng:ref name="svg-desc"/> </rng:optional> <rng:optional> <rng:ref name="office-event-listeners"/> </rng:optional> </rng:element> </rng:define> <rng:define name="draw-caption"> <rng:element name="draw:caption"> <rng:ref name="draw-caption-attlist"/> <rng:ref name="common-draw-position-attlist"/> <rng:ref name="common-draw-size-attlist"/> <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/> <rng:ref name="common-draw-caption-id-attlist"/> - <rng:optional> - <rng:ref name="svg-title"/> - </rng:optional> - <rng:optional> - <rng:ref name="svg-desc"/> - </rng:optional> + <rng:ref name="common-draw-shape-accessibility"/> <rng:optional> <rng:ref name="office-event-listeners"/> </rng:optional> <rng:zeroOrMore> <rng:ref name="draw-glue-point"/> </rng:zeroOrMore> <rng:ref name="draw-text"/> </rng:element> </rng:define> <rng:define name="draw-caption-attlist"> <rng:interleave> <rng:optional> <rng:attribute name="draw:caption-point-x"> <rng:ref name="coordinate"/> @@ -4518,60 +4521,50 @@ <rng:element name="draw:circle"> <rng:choice> <rng:group> <rng:ref name="draw-circle-attlist"/> <rng:ref name="common-draw-circle-ellipse-pos-attlist"/> </rng:group> <rng:group> <rng:ref name="common-draw-position-attlist"/> <rng:ref name="common-draw-size-attlist"/> </rng:group> </rng:choice> <rng:ref name="common-draw-circle-ellipse-attlist"/> <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/> <rng:ref name="common-draw-caption-id-attlist"/> - <rng:optional> - <rng:ref name="svg-title"/> - </rng:optional> - <rng:optional> - <rng:ref name="svg-desc"/> - </rng:optional> + <rng:ref name="common-draw-shape-accessibility"/> <rng:optional> <rng:ref name="office-event-listeners"/> </rng:optional> <rng:zeroOrMore> <rng:ref name="draw-glue-point"/> </rng:zeroOrMore> <rng:ref name="draw-text"/> </rng:element> </rng:define> <rng:define name="draw-circle-attlist"> <rng:attribute name="svg:r"> <rng:ref name="length"/> </rng:attribute> </rng:define> <rng:define name="draw-connector"> <rng:element name="draw:connector"> <rng:ref name="draw-connector-attlist"/> <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/> <rng:ref name="common-draw-caption-id-attlist"/> <rng:ref name="common-draw-viewbox-attlist"/> - <rng:optional> - <rng:ref name="svg-title"/> - </rng:optional> - <rng:optional> - <rng:ref name="svg-desc"/> - </rng:optional> + <rng:ref name="common-draw-shape-accessibility"/> <rng:optional> <rng:ref name="office-event-listeners"/> </rng:optional> <rng:zeroOrMore> <rng:ref name="draw-glue-point"/> </rng:zeroOrMore> <rng:ref name="draw-text"/> </rng:element> </rng:define> <rng:define name="draw-connector-attlist"> <rng:interleave> <rng:optional> <rng:attribute name="draw:type"> <rng:choice> @@ -4675,34 +4668,29 @@ </rng:element> </rng:define> <rng:define name="draw-control-attlist"> <rng:attribute name="draw:control"> <rng:ref name="IDREF"/> </rng:attribute> </rng:define> <rng:define name="draw-custom-shape"> <rng:element name="draw:custom-shape"> <rng:ref name="draw-custom-shape-attlist"/> <rng:ref name="common-draw-position-attlist"/> <rng:ref name="common-draw-size-attlist"/> <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/> <rng:ref name="common-draw-caption-id-attlist"/> - <rng:optional> - <rng:ref name="svg-title"/> - </rng:optional> - <rng:optional> - <rng:ref name="svg-desc"/> - </rng:optional> + <rng:ref name="common-draw-shape-accessibility"/> <rng:optional> <rng:ref name="office-event-listeners"/> </rng:optional> <rng:zeroOrMore> <rng:ref name="draw-glue-point"/> </rng:zeroOrMore> <rng:ref name="draw-text"/> <rng:optional> <rng:ref name="draw-enhanced-geometry"/> </rng:optional> </rng:element> </rng:define> <rng:define name="draw-custom-shape-attlist"> <rng:interleave> @@ -4722,34 +4710,29 @@ <rng:element name="draw:ellipse"> <rng:choice> <rng:group> <rng:ref name="draw-ellipse-attlist"/> <rng:ref name="common-draw-circle-ellipse-pos-attlist"/> </rng:group> <rng:group> <rng:ref name="common-draw-position-attlist"/> <rng:ref name="common-draw-size-attlist"/> </rng:group> </rng:choice> <rng:ref name="common-draw-circle-ellipse-attlist"/> <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/> <rng:ref name="common-draw-caption-id-attlist"/> - <rng:optional> - <rng:ref name="svg-title"/> - </rng:optional> - <rng:optional> - <rng:ref name="svg-desc"/> - </rng:optional> + <rng:ref name="common-draw-shape-accessibility"/> <rng:optional> <rng:ref name="office-event-listeners"/> </rng:optional> <rng:zeroOrMore> <rng:ref name="draw-glue-point"/> </rng:zeroOrMore> <rng:ref name="draw-text"/> </rng:element> </rng:define> <rng:define name="draw-ellipse-attlist"> <rng:attribute name="svg:rx"> <rng:ref name="length"/> </rng:attribute> <rng:attribute name="svg:ry"> @@ -5115,64 +5098,54 @@ <rng:ref name="draw-floating-frame"/> <rng:ref name="draw-plugin"/> <rng:ref name="table-table"/> </rng:choice> </rng:zeroOrMore> <rng:optional> <rng:ref name="office-event-listeners"/> </rng:optional> <rng:zeroOrMore> <rng:ref name="draw-glue-point"/> </rng:zeroOrMore> <rng:optional> <rng:ref name="draw-image-map"/> </rng:optional> - <rng:optional> - <rng:ref name="svg-title"/> - </rng:optional> - <rng:optional> - <rng:ref name="svg-desc"/> - </rng:optional> + <rng:ref name="common-draw-shape-accessibility"/> <rng:optional> <rng:choice> <rng:ref name="draw-contour-polygon"/> <rng:ref name="draw-contour-path"/> </rng:choice> </rng:optional> </rng:element> </rng:define> <rng:define name="draw-frame-attlist"> <rng:optional> <rng:attribute name="draw:copy-of"> <rng:ref name="string"/> </rng:attribute> </rng:optional> </rng:define> <rng:define name="draw-g"> <rng:element name="draw:g"> <rng:ref name="draw-g-attlist"/> <rng:ref name="common-draw-z-index-attlist"/> <rng:ref name="common-draw-name-attlist"/> <rng:ref name="common-draw-id-attlist"/> <rng:ref name="common-draw-style-name-attlist"/> <rng:ref name="common-text-spreadsheet-shape-attlist"/> <rng:ref name="common-draw-caption-id-attlist"/> - <rng:optional> - <rng:ref name="svg-title"/> - </rng:optional> - <rng:optional> - <rng:ref name="svg-desc"/> - </rng:optional> + <rng:ref name="common-draw-shape-accessibility"/> <rng:optional> <rng:ref name="office-event-listeners"/> </rng:optional> <rng:zeroOrMore> <rng:ref name="draw-glue-point"/> </rng:zeroOrMore> <rng:zeroOrMore> <rng:ref name="shape"/> </rng:zeroOrMore> </rng:element> </rng:define> <rng:define name="draw-g-attlist"> <rng:optional> <rng:attribute name="svg:y"> @@ -5433,34 +5406,29 @@ </rng:interleave> </rng:define> <rng:define name="draw-layer-set"> <rng:element name="draw:layer-set"> <rng:zeroOrMore> <rng:ref name="draw-layer"/> </rng:zeroOrMore> </rng:element> </rng:define> <rng:define name="draw-line"> <rng:element name="draw:line"> <rng:ref name="draw-line-attlist"/> <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/> <rng:ref name="common-draw-caption-id-attlist"/> - <rng:optional> - <rng:ref name="svg-title"/> - </rng:optional> - <rng:optional> - <rng:ref name="svg-desc"/> - </rng:optional> + <rng:ref name="common-draw-shape-accessibility"/> <rng:optional> <rng:ref name="office-event-listeners"/> </rng:optional> <rng:zeroOrMore> <rng:ref name="draw-glue-point"/> </rng:zeroOrMore> <rng:ref name="draw-text"/> </rng:element> </rng:define> <rng:define name="draw-line-attlist"> <rng:interleave> <rng:attribute name="svg:x1"> <rng:ref name="coordinate"/> </rng:attribute> @@ -5489,34 +5457,29 @@ <rng:ref name="styleName"/> </rng:attribute> <rng:optional> <rng:attribute name="draw:display-name"> <rng:ref name="string"/> </rng:attribute> </rng:optional> </rng:interleave> </rng:define> <rng:define name="draw-measure"> <rng:element name="draw:measure"> <rng:ref name="draw-measure-attlist"/> <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/> <rng:ref name="common-draw-caption-id-attlist"/> - <rng:optional> - <rng:ref name="svg-title"/> - </rng:optional> - <rng:optional> - <rng:ref name="svg-desc"/> - </rng:optional> + <rng:ref name="common-draw-shape-accessibility"/> <rng:optional> <rng:ref name="office-event-listeners"/> </rng:optional> <rng:zeroOrMore> <rng:ref name="draw-glue-point"/> </rng:zeroOrMore> <rng:ref name="draw-text"/> </rng:element> </rng:define> <rng:define name="draw-measure-attlist"> <rng:interleave> <rng:attribute name="svg:x1"> <rng:ref name="coordinate"/> </rng:attribute> @@ -5664,34 +5627,29 @@ <rng:attribute name="draw:nav-order"> <rng:ref name="IDREFS"/> </rng:attribute> </rng:optional> </rng:interleave> </rng:define> <rng:define name="draw-page-thumbnail"> <rng:element name="draw:page-thumbnail"> <rng:ref name="draw-page-thumbnail-attlist"/> <rng:ref name="common-draw-position-attlist"/> <rng:ref name="common-draw-size-attlist"/> <rng:ref name="presentation-shape-attlist"/> <rng:ref name="common-draw-shape-with-styles-attlist"/> <rng:ref name="common-draw-caption-id-attlist"/> - <rng:optional> - <rng:ref name="svg-title"/> - </rng:optional> - <rng:optional> - <rng:ref name="svg-desc"/> - </rng:optional> + <rng:ref name="common-draw-shape-accessibility"/> </rng:element> </rng:define> <rng:define name="draw-page-thumbnail-attlist"> <rng:optional> <rng:attribute name="draw:page-number"> <rng:ref name="positiveInteger"/> </rng:attribute> </rng:optional> </rng:define> <rng:define name="draw-param"> <rng:element name="draw:param"> <rng:ref name="draw-param-attlist"/> <rng:empty/> </rng:element> @@ -5707,34 +5665,29 @@ <rng:attribute name="draw:value"> <rng:ref name="string"/> </rng:attribute> </rng:optional> </rng:interleave> </rng:define> <rng:define name="draw-path"> <rng:element name="draw:path"> <rng:ref name="common-draw-path-data-attlist"/> <rng:ref name="common-draw-position-attlist"/> <rng:ref name="common-draw-size-attlist"/> <rng:ref name="common-draw-viewbox-attlist"/> <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/> <rng:ref name="common-draw-caption-id-attlist"/> - <rng:optional> - <rng:ref name="svg-title"/> - </rng:optional> - <rng:optional> - <rng:ref name="svg-desc"/> - </rng:optional> + <rng:ref name="common-draw-shape-accessibility"/> <rng:optional> <rng:ref name="office-event-listeners"/> </rng:optional> <rng:zeroOrMore> <rng:ref name="draw-glue-point"/> </rng:zeroOrMore> <rng:ref name="draw-text"/> </rng:element> </rng:define> <rng:define name="draw-plugin"> <rng:element name="draw:plugin"> <rng:ref name="draw-plugin-attlist"/> <rng:ref name="common-draw-data-attlist"/> <rng:zeroOrMore> @@ -5748,79 +5701,64 @@ <rng:optional> <rng:ref name="xml-id"/> </rng:optional> </rng:interleave> </rng:define> <!-- https://issues.oasis-open.org/browse/OFFICE-3943 --> <rng:define name="draw-polygon"> <rng:element name="draw:polygon"> <rng:ref name="common-draw-points-attlist"/> <rng:ref name="common-draw-position-attlist"/> <rng:ref name="common-draw-size-attlist"/> <rng:ref name="common-draw-viewbox-attlist"/> <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/> <rng:ref name="common-draw-caption-id-attlist"/> - <rng:optional> - <rng:ref name="svg-title"/> - </rng:optional> - <rng:optional> - <rng:ref name="svg-desc"/> - </rng:optional> + <rng:ref name="common-draw-shape-accessibility"/> <rng:optional> <rng:ref name="office-event-listeners"/> </rng:optional> <rng:zeroOrMore> <rng:ref name="draw-glue-point"/> </rng:zeroOrMore> <rng:ref name="draw-text"/> </rng:element> </rng:define> <rng:define name="draw-polyline"> <rng:element name="draw:polyline"> <rng:ref name="common-draw-points-attlist"/> <rng:ref name="common-draw-position-attlist"/> <rng:ref name="common-draw-size-attlist"/> <rng:ref name="common-draw-viewbox-attlist"/> <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/> <rng:ref name="common-draw-caption-id-attlist"/> - <rng:optional> - <rng:ref name="svg-title"/> - </rng:optional> - <rng:optional> - <rng:ref name="svg-desc"/> - </rng:optional> + <rng:ref name="common-draw-shape-accessibility"/> <rng:optional> <rng:ref name="office-event-listeners"/> </rng:optional> <rng:zeroOrMore> <rng:ref name="draw-glue-point"/> </rng:zeroOrMore> <rng:ref name="draw-text"/> </rng:element> </rng:define> <rng:define name="draw-rect"> <rng:element name="draw:rect"> <rng:ref name="draw-rect-attlist"/> <rng:ref name="common-draw-position-attlist"/> <rng:ref name="common-draw-size-attlist"/> <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/> <rng:ref name="common-draw-caption-id-attlist"/> - <rng:optional> - <rng:ref name="svg-title"/> - </rng:optional> - <rng:optional> - <rng:ref name="svg-desc"/> - </rng:optional> + <rng:ref name="common-draw-shape-accessibility"/> <rng:optional> <rng:ref name="office-event-listeners"/> </rng:optional> <rng:zeroOrMore> <rng:ref name="draw-glue-point"/> </rng:zeroOrMore> <rng:ref name="draw-text"/> </rng:element> </rng:define> <rng:define name="draw-rect-attlist"> <rng:choice> <rng:optional> <rng:attribute name="draw:corner-radius"> <rng:ref name="nonNegativeLength"/> @@ -5836,34 +5774,29 @@ <rng:attribute name="svg:ry"> <rng:ref name="nonNegativeLength"/> </rng:attribute> </rng:optional> </rng:group> </rng:choice> </rng:define> <rng:define name="draw-regular-polygon"> <rng:element name="draw:regular-polygon"> <rng:ref name="draw-regular-polygon-attlist"/> <rng:ref name="common-draw-position-attlist"/> <rng:ref name="common-draw-size-attlist"/> <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/> <rng:ref name="common-draw-caption-id-attlist"/> - <rng:optional> - <rng:ref name="svg-title"/> - </rng:optional> - <rng:optional> - <rng:ref name="svg-desc"/> - </rng:optional> + <rng:ref name="common-draw-shape-accessibility"/> <rng:optional> <rng:ref name="office-event-listeners"/> </rng:optional> <rng:zeroOrMore> <rng:ref name="draw-glue-point"/> </rng:zeroOrMore> <rng:ref name="draw-text"/> </rng:element> </rng:define> <rng:define name="draw-regular-polygon-attlist"> <rng:interleave> <rng:choice> <rng:attribute name="draw:concave"> <rng:value>false</rng:value>
Show19.n draw:decorative The draw:decorative attribute specifies that the object is purely decorative and may be ignored by assistive technologies. The default value for this attribute is false . diff --git a/docs/odf1.4/schemas/OpenDocument-v1.3-schema.rng b/docs/odf1.4/schemas/OpenDocument-v1.3-schema.rng index ce909f5..e4caad9 100644 --- a/docs/odf1.4/schemas/OpenDocument-v1.3-schema.rng +++ b/docs/odf1.4/schemas/OpenDocument-v1.3-schema.rng @@ -1740,28 +1740,41 @@ <rng:value>scale-min</rng:value> </rng:choice> </rng:attribute> </rng:optional> <rng:optional> <rng:attribute name="style:rel-height"> <rng:choice> <rng:ref name="percent"/> <rng:value>scale</rng:value> <rng:value>scale-min</rng:value> </rng:choice> </rng:attribute> </rng:optional> </rng:define> + <rng:define name="common-draw-shape-accessibility"> + <rng:optional> + <rng:attribute name="draw:decorative"> + <rng:ref name="boolean"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:ref name="svg-title"/> + </rng:optional> + <rng:optional> + <rng:ref name="svg-desc"/> + </rng:optional> + </rng:define> <rng:define name="common-draw-shape-with-styles-attlist"> <rng:ref name="common-draw-z-index-attlist"/> <rng:ref name="common-draw-id-attlist"/> <rng:ref name="common-draw-layer-name-attlist"/> <rng:ref name="common-draw-style-name-attlist"/> <rng:ref name="common-draw-transform-attlist"/> <rng:ref name="common-draw-name-attlist"/> <rng:ref name="common-text-spreadsheet-shape-attlist"/> </rng:define> <rng:define name="common-draw-shape-with-text-and-styles-attlist"> <rng:ref name="common-draw-shape-with-styles-attlist"/> <rng:ref name="common-draw-text-style-name-attlist"/> </rng:define> <rng:define name="common-draw-size-attlist"> @@ -4176,34 +4189,29 @@ <rng:define name="dr3d-scene"> <rng:element name="dr3d:scene"> <rng:ref name="dr3d-scene-attlist"/> <!-- https://issues.oasis-open.org/browse/OFFICE-4072 --> <rng:ref name="common-draw-name-attlist"/> <rng:ref name="common-draw-position-attlist"/> <rng:ref name="common-draw-size-attlist"/> <rng:ref name="common-draw-style-name-attlist"/> <rng:ref name="common-draw-z-index-attlist"/> <rng:ref name="common-draw-id-attlist"/> <rng:ref name="common-draw-layer-name-attlist"/> <rng:ref name="common-text-spreadsheet-shape-attlist"/> <rng:ref name="common-dr3d-transform-attlist"/> <rng:ref name="common-draw-caption-id-attlist"/> - <rng:optional> - <rng:ref name="svg-title"/> - </rng:optional> - <rng:optional> - <rng:ref name="svg-desc"/> - </rng:optional> + <rng:ref name="common-draw-shape-accessibility"/> <rng:zeroOrMore> <rng:ref name="dr3d-light"/> </rng:zeroOrMore> <rng:zeroOrMore> <rng:ref name="shapes3d"/> </rng:zeroOrMore> <rng:zeroOrMore> <rng:ref name="draw-glue-point"/> </rng:zeroOrMore> </rng:element> </rng:define> <rng:define name="dr3d-scene-attlist"> <rng:interleave> <rng:optional> @@ -4456,34 +4464,29 @@ <rng:ref name="svg-desc"/> </rng:optional> <rng:optional> <rng:ref name="office-event-listeners"/> </rng:optional> </rng:element> </rng:define> <rng:define name="draw-caption"> <rng:element name="draw:caption"> <rng:ref name="draw-caption-attlist"/> <rng:ref name="common-draw-position-attlist"/> <rng:ref name="common-draw-size-attlist"/> <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/> <rng:ref name="common-draw-caption-id-attlist"/> - <rng:optional> - <rng:ref name="svg-title"/> - </rng:optional> - <rng:optional> - <rng:ref name="svg-desc"/> - </rng:optional> + <rng:ref name="common-draw-shape-accessibility"/> <rng:optional> <rng:ref name="office-event-listeners"/> </rng:optional> <rng:zeroOrMore> <rng:ref name="draw-glue-point"/> </rng:zeroOrMore> <rng:ref name="draw-text"/> </rng:element> </rng:define> <rng:define name="draw-caption-attlist"> <rng:interleave> <rng:optional> <rng:attribute name="draw:caption-point-x"> <rng:ref name="coordinate"/> @@ -4518,60 +4521,50 @@ <rng:element name="draw:circle"> <rng:choice> <rng:group> <rng:ref name="draw-circle-attlist"/> <rng:ref name="common-draw-circle-ellipse-pos-attlist"/> </rng:group> <rng:group> <rng:ref name="common-draw-position-attlist"/> <rng:ref name="common-draw-size-attlist"/> </rng:group> </rng:choice> <rng:ref name="common-draw-circle-ellipse-attlist"/> <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/> <rng:ref name="common-draw-caption-id-attlist"/> - <rng:optional> - <rng:ref name="svg-title"/> - </rng:optional> - <rng:optional> - <rng:ref name="svg-desc"/> - </rng:optional> + <rng:ref name="common-draw-shape-accessibility"/> <rng:optional> <rng:ref name="office-event-listeners"/> </rng:optional> <rng:zeroOrMore> <rng:ref name="draw-glue-point"/> </rng:zeroOrMore> <rng:ref name="draw-text"/> </rng:element> </rng:define> <rng:define name="draw-circle-attlist"> <rng:attribute name="svg:r"> <rng:ref name="length"/> </rng:attribute> </rng:define> <rng:define name="draw-connector"> <rng:element name="draw:connector"> <rng:ref name="draw-connector-attlist"/> <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/> <rng:ref name="common-draw-caption-id-attlist"/> <rng:ref name="common-draw-viewbox-attlist"/> - <rng:optional> - <rng:ref name="svg-title"/> - </rng:optional> - <rng:optional> - <rng:ref name="svg-desc"/> - </rng:optional> + <rng:ref name="common-draw-shape-accessibility"/> <rng:optional> <rng:ref name="office-event-listeners"/> </rng:optional> <rng:zeroOrMore> <rng:ref name="draw-glue-point"/> </rng:zeroOrMore> <rng:ref name="draw-text"/> </rng:element> </rng:define> <rng:define name="draw-connector-attlist"> <rng:interleave> <rng:optional> <rng:attribute name="draw:type"> <rng:choice> @@ -4675,34 +4668,29 @@ </rng:element> </rng:define> <rng:define name="draw-control-attlist"> <rng:attribute name="draw:control"> <rng:ref name="IDREF"/> </rng:attribute> </rng:define> <rng:define name="draw-custom-shape"> <rng:element name="draw:custom-shape"> <rng:ref name="draw-custom-shape-attlist"/> <rng:ref name="common-draw-position-attlist"/> <rng:ref name="common-draw-size-attlist"/> <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/> <rng:ref name="common-draw-caption-id-attlist"/> - <rng:optional> - <rng:ref name="svg-title"/> - </rng:optional> - <rng:optional> - <rng:ref name="svg-desc"/> - </rng:optional> + <rng:ref name="common-draw-shape-accessibility"/> <rng:optional> <rng:ref name="office-event-listeners"/> </rng:optional> <rng:zeroOrMore> <rng:ref name="draw-glue-point"/> </rng:zeroOrMore> <rng:ref name="draw-text"/> <rng:optional> <rng:ref name="draw-enhanced-geometry"/> </rng:optional> </rng:element> </rng:define> <rng:define name="draw-custom-shape-attlist"> <rng:interleave> @@ -4722,34 +4710,29 @@ <rng:element name="draw:ellipse"> <rng:choice> <rng:group> <rng:ref name="draw-ellipse-attlist"/> <rng:ref name="common-draw-circle-ellipse-pos-attlist"/> </rng:group> <rng:group> <rng:ref name="common-draw-position-attlist"/> <rng:ref name="common-draw-size-attlist"/> </rng:group> </rng:choice> <rng:ref name="common-draw-circle-ellipse-attlist"/> <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/> <rng:ref name="common-draw-caption-id-attlist"/> - <rng:optional> - <rng:ref name="svg-title"/> - </rng:optional> - <rng:optional> - <rng:ref name="svg-desc"/> - </rng:optional> + <rng:ref name="common-draw-shape-accessibility"/> <rng:optional> <rng:ref name="office-event-listeners"/> </rng:optional> <rng:zeroOrMore> <rng:ref name="draw-glue-point"/> </rng:zeroOrMore> <rng:ref name="draw-text"/> </rng:element> </rng:define> <rng:define name="draw-ellipse-attlist"> <rng:attribute name="svg:rx"> <rng:ref name="length"/> </rng:attribute> <rng:attribute name="svg:ry"> @@ -5115,64 +5098,54 @@ <rng:ref name="draw-floating-frame"/> <rng:ref name="draw-plugin"/> <rng:ref name="table-table"/> </rng:choice> </rng:zeroOrMore> <rng:optional> <rng:ref name="office-event-listeners"/> </rng:optional> <rng:zeroOrMore> <rng:ref name="draw-glue-point"/> </rng:zeroOrMore> <rng:optional> <rng:ref name="draw-image-map"/> </rng:optional> - <rng:optional> - <rng:ref name="svg-title"/> - </rng:optional> - <rng:optional> - <rng:ref name="svg-desc"/> - </rng:optional> + <rng:ref name="common-draw-shape-accessibility"/> <rng:optional> <rng:choice> <rng:ref name="draw-contour-polygon"/> <rng:ref name="draw-contour-path"/> </rng:choice> </rng:optional> </rng:element> </rng:define> <rng:define name="draw-frame-attlist"> <rng:optional> <rng:attribute name="draw:copy-of"> <rng:ref name="string"/> </rng:attribute> </rng:optional> </rng:define> <rng:define name="draw-g"> <rng:element name="draw:g"> <rng:ref name="draw-g-attlist"/> <rng:ref name="common-draw-z-index-attlist"/> <rng:ref name="common-draw-name-attlist"/> <rng:ref name="common-draw-id-attlist"/> <rng:ref name="common-draw-style-name-attlist"/> <rng:ref name="common-text-spreadsheet-shape-attlist"/> <rng:ref name="common-draw-caption-id-attlist"/> - <rng:optional> - <rng:ref name="svg-title"/> - </rng:optional> - <rng:optional> - <rng:ref name="svg-desc"/> - </rng:optional> + <rng:ref name="common-draw-shape-accessibility"/> <rng:optional> <rng:ref name="office-event-listeners"/> </rng:optional> <rng:zeroOrMore> <rng:ref name="draw-glue-point"/> </rng:zeroOrMore> <rng:zeroOrMore> <rng:ref name="shape"/> </rng:zeroOrMore> </rng:element> </rng:define> <rng:define name="draw-g-attlist"> <rng:optional> <rng:attribute name="svg:y"> @@ -5433,34 +5406,29 @@ </rng:interleave> </rng:define> <rng:define name="draw-layer-set"> <rng:element name="draw:layer-set"> <rng:zeroOrMore> <rng:ref name="draw-layer"/> </rng:zeroOrMore> </rng:element> </rng:define> <rng:define name="draw-line"> <rng:element name="draw:line"> <rng:ref name="draw-line-attlist"/> <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/> <rng:ref name="common-draw-caption-id-attlist"/> - <rng:optional> - <rng:ref name="svg-title"/> - </rng:optional> - <rng:optional> - <rng:ref name="svg-desc"/> - </rng:optional> + <rng:ref name="common-draw-shape-accessibility"/> <rng:optional> <rng:ref name="office-event-listeners"/> </rng:optional> <rng:zeroOrMore> <rng:ref name="draw-glue-point"/> </rng:zeroOrMore> <rng:ref name="draw-text"/> </rng:element> </rng:define> <rng:define name="draw-line-attlist"> <rng:interleave> <rng:attribute name="svg:x1"> <rng:ref name="coordinate"/> </rng:attribute> @@ -5489,34 +5457,29 @@ <rng:ref name="styleName"/> </rng:attribute> <rng:optional> <rng:attribute name="draw:display-name"> <rng:ref name="string"/> </rng:attribute> </rng:optional> </rng:interleave> </rng:define> <rng:define name="draw-measure"> <rng:element name="draw:measure"> <rng:ref name="draw-measure-attlist"/> <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/> <rng:ref name="common-draw-caption-id-attlist"/> - <rng:optional> - <rng:ref name="svg-title"/> - </rng:optional> - <rng:optional> - <rng:ref name="svg-desc"/> - </rng:optional> + <rng:ref name="common-draw-shape-accessibility"/> <rng:optional> <rng:ref name="office-event-listeners"/> </rng:optional> <rng:zeroOrMore> <rng:ref name="draw-glue-point"/> </rng:zeroOrMore> <rng:ref name="draw-text"/> </rng:element> </rng:define> <rng:define name="draw-measure-attlist"> <rng:interleave> <rng:attribute name="svg:x1"> <rng:ref name="coordinate"/> </rng:attribute> @@ -5664,34 +5627,29 @@ <rng:attribute name="draw:nav-order"> <rng:ref name="IDREFS"/> </rng:attribute> </rng:optional> </rng:interleave> </rng:define> <rng:define name="draw-page-thumbnail"> <rng:element name="draw:page-thumbnail"> <rng:ref name="draw-page-thumbnail-attlist"/> <rng:ref name="common-draw-position-attlist"/> <rng:ref name="common-draw-size-attlist"/> <rng:ref name="presentation-shape-attlist"/> <rng:ref name="common-draw-shape-with-styles-attlist"/> <rng:ref name="common-draw-caption-id-attlist"/> - <rng:optional> - <rng:ref name="svg-title"/> - </rng:optional> - <rng:optional> - <rng:ref name="svg-desc"/> - </rng:optional> + <rng:ref name="common-draw-shape-accessibility"/> </rng:element> </rng:define> <rng:define name="draw-page-thumbnail-attlist"> <rng:optional> <rng:attribute name="draw:page-number"> <rng:ref name="positiveInteger"/> </rng:attribute> </rng:optional> </rng:define> <rng:define name="draw-param"> <rng:element name="draw:param"> <rng:ref name="draw-param-attlist"/> <rng:empty/> </rng:element> @@ -5707,34 +5665,29 @@ <rng:attribute name="draw:value"> <rng:ref name="string"/> </rng:attribute> </rng:optional> </rng:interleave> </rng:define> <rng:define name="draw-path"> <rng:element name="draw:path"> <rng:ref name="common-draw-path-data-attlist"/> <rng:ref name="common-draw-position-attlist"/> <rng:ref name="common-draw-size-attlist"/> <rng:ref name="common-draw-viewbox-attlist"/> <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/> <rng:ref name="common-draw-caption-id-attlist"/> - <rng:optional> - <rng:ref name="svg-title"/> - </rng:optional> - <rng:optional> - <rng:ref name="svg-desc"/> - </rng:optional> + <rng:ref name="common-draw-shape-accessibility"/> <rng:optional> <rng:ref name="office-event-listeners"/> </rng:optional> <rng:zeroOrMore> <rng:ref name="draw-glue-point"/> </rng:zeroOrMore> <rng:ref name="draw-text"/> </rng:element> </rng:define> <rng:define name="draw-plugin"> <rng:element name="draw:plugin"> <rng:ref name="draw-plugin-attlist"/> <rng:ref name="common-draw-data-attlist"/> <rng:zeroOrMore> @@ -5748,79 +5701,64 @@ <rng:optional> <rng:ref name="xml-id"/> </rng:optional> </rng:interleave> </rng:define> <!-- https://issues.oasis-open.org/browse/OFFICE-3943 --> <rng:define name="draw-polygon"> <rng:element name="draw:polygon"> <rng:ref name="common-draw-points-attlist"/> <rng:ref name="common-draw-position-attlist"/> <rng:ref name="common-draw-size-attlist"/> <rng:ref name="common-draw-viewbox-attlist"/> <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/> <rng:ref name="common-draw-caption-id-attlist"/> - <rng:optional> - <rng:ref name="svg-title"/> - </rng:optional> - <rng:optional> - <rng:ref name="svg-desc"/> - </rng:optional> + <rng:ref name="common-draw-shape-accessibility"/> <rng:optional> <rng:ref name="office-event-listeners"/> </rng:optional> <rng:zeroOrMore> <rng:ref name="draw-glue-point"/> </rng:zeroOrMore> <rng:ref name="draw-text"/> </rng:element> </rng:define> <rng:define name="draw-polyline"> <rng:element name="draw:polyline"> <rng:ref name="common-draw-points-attlist"/> <rng:ref name="common-draw-position-attlist"/> <rng:ref name="common-draw-size-attlist"/> <rng:ref name="common-draw-viewbox-attlist"/> <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/> <rng:ref name="common-draw-caption-id-attlist"/> - <rng:optional> - <rng:ref name="svg-title"/> - </rng:optional> - <rng:optional> - <rng:ref name="svg-desc"/> - </rng:optional> + <rng:ref name="common-draw-shape-accessibility"/> <rng:optional> <rng:ref name="office-event-listeners"/> </rng:optional> <rng:zeroOrMore> <rng:ref name="draw-glue-point"/> </rng:zeroOrMore> <rng:ref name="draw-text"/> </rng:element> </rng:define> <rng:define name="draw-rect"> <rng:element name="draw:rect"> <rng:ref name="draw-rect-attlist"/> <rng:ref name="common-draw-position-attlist"/> <rng:ref name="common-draw-size-attlist"/> <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/> <rng:ref name="common-draw-caption-id-attlist"/> - <rng:optional> - <rng:ref name="svg-title"/> - </rng:optional> - <rng:optional> - <rng:ref name="svg-desc"/> - </rng:optional> + <rng:ref name="common-draw-shape-accessibility"/> <rng:optional> <rng:ref name="office-event-listeners"/> </rng:optional> <rng:zeroOrMore> <rng:ref name="draw-glue-point"/> </rng:zeroOrMore> <rng:ref name="draw-text"/> </rng:element> </rng:define> <rng:define name="draw-rect-attlist"> <rng:choice> <rng:optional> <rng:attribute name="draw:corner-radius"> <rng:ref name="nonNegativeLength"/> @@ -5836,34 +5774,29 @@ <rng:attribute name="svg:ry"> <rng:ref name="nonNegativeLength"/> </rng:attribute> </rng:optional> </rng:group> </rng:choice> </rng:define> <rng:define name="draw-regular-polygon"> <rng:element name="draw:regular-polygon"> <rng:ref name="draw-regular-polygon-attlist"/> <rng:ref name="common-draw-position-attlist"/> <rng:ref name="common-draw-size-attlist"/> <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/> <rng:ref name="common-draw-caption-id-attlist"/> - <rng:optional> - <rng:ref name="svg-title"/> - </rng:optional> - <rng:optional> - <rng:ref name="svg-desc"/> - </rng:optional> + <rng:ref name="common-draw-shape-accessibility"/> <rng:optional> <rng:ref name="office-event-listeners"/> </rng:optional> <rng:zeroOrMore> <rng:ref name="draw-glue-point"/> </rng:zeroOrMore> <rng:ref name="draw-text"/> </rng:element> </rng:define> <rng:define name="draw-regular-polygon-attlist"> <rng:interleave> <rng:choice> <rng:attribute name="draw:concave"> <rng:value>false</rng:value> -
Resolution:Hide
As proposed, but with modifications following the resolution of
OFFICE-4142:- Part 3 text change moved from chapter 19 to chapter 20;
- Attribute 'draw:decorative' moved from 'common-draw-shape-accessibility' to 'style-graphic-properties-attlist'.
ShowAs proposed, but with modifications following the resolution of OFFICE-4142 : Part 3 text change moved from chapter 19 to chapter 20; Attribute 'draw:decorative' moved from 'common-draw-shape-accessibility' to 'style-graphic-properties-attlist'.
This is a request to add an attribute to ODF that marks an image or other type of (non-text) object as decorative or presentational. A decorative or presentational object would not have a text alternative (for example, neither <svg:title> nor <svg:desc> in a <draw:frame> with presentation:class="graphic").
Details:
1. Such an object would not be mapped to the accessibility API when the document is viewed in a read mode, such as the Slide Show mode in LibreOffice Impress or the Read Mode in Microsoft Word. (LibreOffice Writer doesn't have anything like a Read Mode.) However, the presence of decorative object should still be exposed to the accessibility API in all editing modes, since screen reader users need to be made aware of its presence when editing a document.
2. When an object is marked as decorative, editors should disable fields that allow authors to edit text alternatives (so <svg:title> and <svg:desc> are not output at all).
3. When an image or object has a caption, editors should not allow it to be marked as decorative. (The presence of a caption signals that the object conveys meaning.)
4. The new attribute seems relevant to <draw:frame> elements with a presentation:class attribute with the value 'graphic' or 'object', and to <draw:custom-shape>. However, whether an object or shape is decorative or not depends on the author's intent. I am not aware of a mechanism to determine this automatically.
5. When a document containing a decorative object is exported as tagged PDF, the object should also be marked as decorative in the PDF file. (In Adobe Acrobat DC, the checkbox "Decorative figure" in the "Set Altenate Text" would be checked and the "Alternate text" field would be grayed out.)
6. When a document containing a decorative object is exported as HTML or XHTML, the alt attribute on the img element would simply be empty. (This is HTML's convention for signalling that the img element is decorative). If the object is output using an element other than img, the ARIA attribute role="presentation" would be added to the element (see also https://www.w3.org/TR/wai-aria-1.1/#presentation ). (This is relevant to Appendix D.1.)
Note that Microsoft Office introduced the ability to mark images and other objects in Word documents and PowerPoint presentations in version 2019 of the office suite. (Support in assistive technologies seems to be lagging.) The above request would eventually enable something similar in LibreOffice and Apache OpenOffice.
From Christophe Strobbe, https://lists.oasis-open.org/archives/office-comment/202205/msg00000.html