xhtml: <image alt="blah blah" ... /> - what should it look like?

M

mark4asp

<image alt="blah blah" ... /> - what should it look like?

When I use <image alt="blah blah" ... />

The alt value of an image tag is rendered inconsistently:
* In Safari I see nothing. The alt value is ignored.
* In IE6 I see a tooltip
* In Firefox the alt attribute value is displayed on top of the image.
With a small image the text overflows to the rhs.
* In Opera the actual the alt attribute value is displayed on top of
the image. With a small image the text is trucated within the width
specified for the image.

What's going on here? Do 3/4 of these browsers have bugs or is the
xhtml specification missing something?

The only sensible solution to this is for me to use blank alt tags
<image alt="" ... /> and to use a title attribute instead.

The empty alt tag is still needed because I want to use xhtml markup.
However now my <asp:Image> [asp.net] tags are broke because when I when
I specify them as <asp:Image AlternateText ="" ... /> they are rendered
as <asp:Image ... /> i.e. with no alt tag at all.


[FireFox 2.0.0.11, Opera 9.25, Build 8827, Safari 3.0.4 (523.13), IE 6
sp6 (with latest updates) all running on WinXP sp2 with latest updates
on asp.net 2 site using ms ajax.]
 
J

Johannes Koch

mark4asp said:
<image alt="blah blah" ... /> - what should it look like?

Don't know. In XHTML there is no image element, it's called img. The img
element's alt attribute is an _alternative_ for the image, to be
rendered if the image itself is not rendered (e.g. in a text browser, a
screen reader or voice browser, or when image rendereing is disabled in
a graphical browser). If you want a tooltip, you may get it when adding
a title attribute to the img element.
 
P

Pavel Lepin

Follow-ups to comp.infosystems.www.authoring.html

mark4asp said:
<image alt="blah blah" ... /> - what should it look like?

The Recommendation doesn't specify what should it look like
because alt attribute represents an alternate textual
description for non-textual content in question, to be
provided in environments where rendering of original
content is impossible or undesirable (see HTML 4.01, 13.8).
The only sensible solution to this is for me to use blank
alt tags <image alt="" ... />...

It's a Very Bad Practice.
...and to use a title attribute instead.

Note that 'instead' is not appropriate. Those attributes
have different semantics (see 7.4.3) and therefore serve
different purposes. title is purely optional, but alt is
mandatory and should always be helpful. Note that the spec
doesn't say what UA's must or even should do with the title
attribute either.
 
M

mark4asp

mark4asp said:
The empty alt tag is still needed because I want to use xhtml markup.
However now my <asp:Image> [asp.net] tags are broke because when I
when I specify them as <asp:Image AlternateText ="" ... /> they are
rendered as <asp:Image ... /> i.e. with no alt tag at all.
Sorry I meant to say:

they are rendered as <img ... /> i.e. with no alt tag at all.
 
M

mark4asp

Johannes said:
Don't know. In XHTML there is no image element, it's called img. The
img element's alt attribute is an alternative for the image, to be
rendered if the image itself is not rendered (e.g. in a text browser,
a screen reader or voice browser, or when image rendereing is
disabled in a graphical browser). If you want a tooltip, you may get
it when adding a title attribute to the img element.

So you're saying that this is not fully dealt with in the xhtml
specification? So that the various browser vendors can handle the alt
value as they wish to? But in that case why does an <img> tag have to
include an alt attribute - given that xhtml does care how (or even)
whether the alt value rendered. That just seems daft to me.
 
J

Johannes Koch

Xpost and F'up comp.infosystems.www.authoring.html
So you're saying that this is not fully dealt with in the xhtml
specification? So that the various browser vendors can handle the alt
value as they wish to?

<http://www.w3.org/TR/html4/struct/objects.html#adef-alt>:
alt = text [CS]
For user agents that cannot display images, forms, or applets, this
attribute specifies alternate text. The language of the alternate text
is specified by the lang attribute.
But in that case why does an <img> tag have to
include an alt attribute -

Because not every browser can or will render the image itself. So a
textual alternative is needed to be rendered instead.
 
G

George Ter-Saakov

According to HTML specs alt tag is used to show the picture's place when
picture is not available (yet).

So while browser still loading picture from the server the alt content will
be shown to user so people with slow internet connection can get an idea
what they are going to be looking at soon :)

PS: First time I hear that firefox shows alt on top of the image. May be
it's a setting in Firefox and you have it turned on because it's not the
case usually.

PPS: IE support tooltip attribute I believe. And I guess when it's not
available it shows alt as a tool tip.

George.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,483
Members
44,901
Latest member
Noble71S45

Latest Threads

Top