[html4all] Object element support
Robert J Burns
rob at robburns.com
Wed Aug 20 04:46:07 PDT 2008
Hi Leif,
On Aug 20, 2008, at 2:13 PM, Leif Halvard Silli wrote:
> Jason White 2008-08-20 03.03:
>
>> On Tue, Aug 19, 2008 at 01:45:11PM +0200, Leif Halvard Silli wrote:
>>
>>> That might be. But if so, then it seems to that it is a bug which
>>> has turned out to become a feature.
>>
>> I'm not persuaded that it is a feature. Personally, I don't care
>> about the
>> distinction between "short" and "long" alternatives, but only that
>> there is an
>> alternative that adequately substitutes for the image.
>
>
> Rob's reply had me thinking that what I dubbed as short vs long,
> should perhaps rather be seen as "plain text, likely quite short"
> versus "markup, optionally long".
Even this doesn't get to the distinction that I'm trying to make. Take
XHTML2 as an example. In XHTML2 all embedded media elements include
the possibility of rich markup text in their own element contents (no
need for an alt attribute). However, there is still a need for a
separate kind of text equivalent (usually facilitated by the longdesc
attribute) that is for description that is not alt text. In other
words in XHTML2 (if it included a longdesc or aria:describedby
attribute) could provide 1) alt text as a replacement for in-
consumable non-text media and 2) a textual description for a more
detailed subject or visual description of that media not necessarily
as integral to the comprehension of the document as the alt text.
Now in this example, either can be long or short and either can be
plain text or marked up text. The distinction is not about that, but
rather how integral is this equivalent text to comprehending the
document. I hope that helps clear up the distinction I'm trying to
make. I think making a document truly accessible involves adding
either or both of these text equivalents.
>
>
> The thing is: You have some preknowledge about what the @alt text
> is - its quality. You, in fact, also know that the @longdesc
> resource is adequate for non-sighted readers, because its purpose
> is to cater for those who can't access the image as image - for
> whatever reaason (technical or otherwise).
>
> Wheras for OBJECT, how do you know for whom the alternative(s)
> is/are made? There is no such guarantee.
>
>
>>>> Of course, if the author so desires, the alternative can
>>>> include a link referring to additional information. This is
>>>> true of OBJECT as well:
>>>>
>>>> <object data="image"><p>An image. <a
>>>> href="description.html">See this description for full
>>>> details.</a></object>
>>>
>>>
>>> That to me is not different from
>>>
>>> <p><img src=src alt="" />
>>> Short.
>>> <a href=longDescription >Long.
>>> </a></p>
>>>
>>> (But then, why would be need @longdesc?)
>>
>> The two cases are very different. In the OBJECT case, the fact that
>> the link
>> is contained in the OBJECT element establishes that it is part of the
>> alternative to the image. In your IMG example, the link is not, and
>> cannot be,
>> included in the IMG element without the use of @longdesc. Hence,
>> the image and
>> the link are semantically unrelated so far as the markup is
>> concerned,
>> whereas, by definition, the content of the OBJECT element serves as
>> an
>> alternative to the resource referred to in @data.
>
>
> I don't subscribe to "semantically unrelated" - how can you know
> that? However, I agree that there is nothing which
> formally/technically binds the link to the precedign IMG, and thus
> neither is the target of the link formally connected to the IMG.
>
>
>
> As for your interpretation of the link within the OBJECT, I
> disagree there as well. Because, what make the nested OBJECT
> related to the parent OBJECT, is the fact that it is nested, and
> the fact that nested OBJECTs are defined in HTML 4 as being
> alternatives.
>
>>>> However, assuming that this is considered a
>>>> problem worth addressing, I can think of several alternative
>>>> solutions:
>>>>
>>>> a. To define the semantics of @title on OBJECT as serving the
>>>> purpose of providing a short alternative.
>>>
>>> Why would that be better than adding @longdesc to OBJECT?
>>
>> OBJECT already supports block-level content. The only reason for
>> creating
>> @longdesc in the first place was that IMG didn't support inline or
>> block-level
>> content. Since OBJECT doesn't have this design shortcoming, there
>> is no need
>> for @longdesc, and including it would create a lot of confusion
>> regarding how
>> to treat block-level content vs. the resource referred to by
>> @longdesc.
>
> But @title also has defined meanings. I know of no other case were
> @title isn't supposed to be some kind of a title. (And, if, as you
> say, there is no need for short vs long, there would be no need
> for it either.)
>
> I am lost with regarod to your point about "confusion".
>
> Also, @longdesc /is/ a link. That is why proposed it.
>
>>>> c. To define <a rel="alternative"> so that the link can be
>>>> identified as a long alternative to the object.
>>>
>>>
>>> For use inside Object? Like this:
>>>
>>> <object image=data>Short.
>>> <a href=long rel=alternative>Link
>>> </a></object>
>>>
>>> Then you are also saying that the first fallback is naturally short.
>>
>> No, this is precisely what I am not saying.
>
>
> Sorry, 'you are saying' was supposed to mean 'one are saying'.
>
>> The fallback can be inline or
>> block-level, and as long as the author wishes it to be. However, if
>> the author
>> wants to provide only a brief alternative in the text as a
>> substitute for the
>> image, and more detail separately which the user can access, then
>> it is
>> possible to do so by means of a link.
>>
>> The IMG element forces a distinction between "short" and "long"
>> alternatives.
>> OBJECT has the advantage, in its design, of not doing so. If I want
>> to provide
>> a table as an alternative to a chart, I can do so without having to
>> create a
>> separate page and using a link or @longdesc, provided that I use
>> OBJECT rather
>> than IMG.
>>
>> This is an advantage of OBJECT over IMG, and has long been
>> acknowledged as
>> such.
>
> There is no disagreement between us regarding the advantage of
> being able to insert mark-up as fallback in the OBJECT.
>
> But as you know, limitatations are not always bad. They can
> sometime force us to do some good things which otherwise perhaps
> would not have come naturally - make us creative. So, e.g. if I
> run an IMG without an @alt in the validator, then it cries.
> Whereas if I insert an OBJECT without a fallback, then there is no
> cries, not even a warning. And I can even let a flash movie fall
> back to QuickTime instead of text. And still no cries.
>
> Clearly, if the question of fallback was linked to @role rather
> than the kind of element - IMG or OBJECT in this case, then the
> validator could prompt for the addition of textual fallback
> (markup or plain text - how about MathML, screen readers ... ?).
>
> But even then, there would have to be rules for what to place
> there. And how to place it. And how the user should get/select/be
> served /his/ fallback. (How do you place a link to the textual
> fallback in a QuickTime movie?) Today, following the rule of
> 'graceful degradation', an OBJECT with a movie would contain
> "advanced movie format" in the first OBJECT, and a "not so
> advanced movie format" would come in the second OBJECT. Then
> perhaps you'd find plain text/markup in the third level. But
> perhaps the text level fallback should come in the second level?
>
> Also, here is a nuisance: What should happen if the OBJECT is a
> movie, and the fallback is markup in the form of an IMG element,
> and then - in adddition, a second OBJECT has textual fallback?
>
> <object data=movie.mov >
> <img src=src alt=alt >
> <object><p>mark-up
> </p></object></object>
>
> We would then get two conflicting fallback-regimes: That of the
> IMG and that of the OBJECT. It cold at least end up very
> confusing. Perhaps the screen reader would read the @alt, and miss
> the presence of "a better alt" in the nested OBJECT? What should
> the rules for the use of IMG inside OBJECT be?
>
> The combination of IMG, @alt, @longdesc, is like a microformat
> that has developed over time, with quite firm rules. OBJECT might
> be superior. But this has not been put into practise. As massive
> jump to OBJECT could have lead to a drop in accessibility due to
> lack of actual, practical advice and tradition (that authors are
> aware of) for how to use it.
I think you raise some good points here, especially regarding the
OBJECT element's fallback and validator/conformance checking. Your
example convinces me that we should require some significant text
within the object element when the role keyword prescribes it.
Otherwise we do lose the accessibility awareness raising benefits of
the alt attribute.
However, I don't think the use of the OBJECT element is as complicated
as you're making it out here. In other words the fallback semantics
are very well defined. So in your example:
> <object data=movie.mov >
> <img src=src alt=alt >
> <object><p>mark-up
> </p></object></object>
the IMG element element does not serve as another fallback level.
Rather both the IMG and the second OBJECT together form the fallback
for the initial OBJECT. Their can only be one fallback level once the
contents of an object includes anything other than an OBJECT or a
PARAM element. Your construction doesn't cause a validator flag, but I
think if definitely should. Or perhaps even two validator flags, one
because an OBJECT is included in the ultimate text fallback and also
because the IMG (another non-text media element) is included in the
ultimate text fallback of the OBJECT element. So the way OBJECT is
supposed to work (and maybe you're saying that the HTML 4.01
recommendation doesn't make this clear enough) is that the OBJECT
element can only contain 1) any number of PARAM child elements
followed by one OBJECT element or 2) any number of PARM elements
followed by FLOW content (but no OBJECT element).
I'll have to take a look at HTML 4.01 to see if this is explicit, but
HTML5 should definitely make this clear.
Take care,
Rob
More information about the List_HTML4all.org
mailing list