W3C: eigenes Attribut im image tag
Chris
- html
1 Gunnar Bittersmann
Hallo,
meine Frage ist ganz einfach ;)
Ich würde gern ein ein imgae tag ein eigenes Attribut einfügen. Welche probleme kann es geben wegen der W3C Spezifikationen. Im HTML Validator spuckt es mir nämlich einen Fehler aus.
Kann ich das machen?
Besten Dank
@@Chris:
nuqneH
Ich würde gern ein ein imgae tag ein eigenes Attribut einfügen. Welche probleme kann es geben wegen der W3C Spezifikationen. Im HTML Validator spuckt es mir nämlich einen Fehler aus.
Kann ich das machen?
Es ist in HTML nicht vorgesehen, eigene Elemente oder Attribute hinzufügen zu können.
Verwende ein passendes vorhandenes! Was willst du bezwecken?
Qapla'
Danke Qapla
Ich nutze Drupal und möchte unter jedes Bild eine Quellenangabe schreiben. In Drupal gibt es ein Modul mit dem man ein Tag auswählen kann, egal welches (title, Alt).
Mein Ziel ist nicht das Title oder Alt Tag zu nehmen sondern ein selbst definiertes in das ich "Quelle" und den Link zur Quelle angebe. Ich könnte es auch in Longdesc einfügen, allerdings ist es eben nicht nur ein Link sondern ein Wort das verlinkt sein soll.
Vielen Dank für die schnelle Hilfe :) Super
Ich könnte es auch in Longdesc einfügen, allerdings ist es eben nicht nur ein Link sondern ein Wort das verlinkt sein soll.
longdesc ist aber genau das was du suchst - verweise auf ein HTML-Dokument, welches die Lizenz und die Herkunft des Bildes wiedergibt. Das mit dem "ein Wort das verlinkt sein soll" verstehe ich nicht.
Der Support hier ist ja der Wahnsinn.
Naja ich würde dann in die longdesc folgendes hinein schreiben
<a href="http://www.flickr.com" target="_blank" title="Flickr">Quelle</a>
Ich möhcte in die Longdec (oder in ein anderes Tag) eben nicht nur eine URL ODER ein Wort schreiben. Was ich möchte ist das das Wort "Flickr" verlinkt ist man also direkt darauf kommt.
Könnte ich den Code so wie oben in die longdesc hineinschreiben? Wisst ihr was ich meine?
damit das klar wird was ich meine.
mein image tag sieht dann so aus
<img width="100" height="100" align="right" longdesc="<a href="http://www.flickr.de">Flickr</a>" src="/sites/default/files/image/000003_v01_team.jpg" alt="Alt TAg" title="TITEL" class="caption" />
geht das in orndnung? danke nochmal
@@chris:
nuqneH
<img width="100" height="100" align="right" longdesc="<a href="http://www.flickr.de">Flickr</a>" src="/sites/default/files/image/000003_v01_team.jpg" alt="Alt TAg" title="TITEL" class="caption" />
geht das in orndnung? danke nochmal
Nein. Der Wert von @longdesc ist ein URI, sonst nichts. [HTML401 §13.2]
Und die Ressource hinter diesem URI sollte eine Beschreibung des Bildinhalts geben, nicht eine Quellenangabe. [ibid.]
@longdesc ist syntaktisch und semantisch falsch.
Qapla'
Also im Ergebnis darf ich kein fremdes Attribut benutzen und Longdescr auch nicht weil ich Link mit TExt habe.
Nun gut. Gibt es sonst eine andere Lösung oder vielleicht ein anderes Tag das ich für meinen Zweck einsetzten kann?
@@chris:
nuqneH
Nun gut. Gibt es sonst eine andere Lösung oder vielleicht ein anderes Tag das ich für meinen Zweck einsetzten kann?
Ja. Und auch die Anmerkung von Beat.
In HTML5 wird es statt des 'div' dann 'figure' geben. [HTML5 §4.8.1] Ist ja nicht alles schlecht an HTML5.
Qapla'
Damit sehe ich meinen post als gelöst. Vielen Dank für die Hilfe
Nein. Der Wert von @longdesc ist ein URI, sonst nichts. [HTML401 §13.2]
Woraus schließt du, dass da keine Lizenz dahinter stecken kann? Eine Beschreibung des Bildes muss ja nicht unbedingt nur seinen Inhalt betreffen.
"Bild von einem Haus in den Bergen; Fotographiert von Max Mustermann; Veröffentlicht unter Lizenz XYZ"
Eine longdesc-Seite für dieses Bild könnte so aussehen.
@@suit:
nuqneH
Woraus schließt du, dass da keine Lizenz dahinter stecken kann?
Aus „Dieses Attribut gibt einen Link zu einer langen Beschreibung des Bilds an.“ [HTML401 §13.2]
Eine Beschreibung ist eine Beschreibung und eine Lizenzangabe ist eine Lizenzangabe.
Qapla'
@@Gunnar Bittersmann:
nuqneH
Eine Beschreibung ist eine Beschreibung und eine Lizenzangabe ist eine Lizenzangabe.
Für letztere bietet sich RDFa an: Introduction to RDFa II, Rule 7.
Qapla'
Aus „Dieses Attribut gibt einen Link zu einer langen Beschreibung des Bilds an.“ [HTML401 §13.2]
Eine Beschreibung ist eine Beschreibung und eine Lizenzangabe ist eine Lizenzangabe.
Wo ziehst du die Grenze zwischen folgenden Langbeschreibungen:
Auf dem Bild ist foo zu sehen,
Auf dem Bild von Autor bar ist foo zu sehen
Auf dem Bild (unter der Lizenz baz) von Autor bar ist foo zu sehen
Für mich sind das alles Beschreibungen - keines ist eine reine Lizenzangabe.
@@suit:
nuqneH
Wo ziehst du die Grenze zwischen folgenden Langbeschreibungen:
Auf dem Bild ist foo zu sehen,
Auf dem Bild von Autor bar ist foo zu sehen
Auf dem Bild (unter der Lizenz baz) von Autor bar ist foo zu sehenFür mich sind das alles Beschreibungen
Ja.
keines ist eine reine Lizenzangabe.
Im letzten Fall ist die Lizenzangabe Teil der Beschreibung.
Eine reine Lizenzangabe ist für mich keine Beschreibung.
Qapla'
@@chris:
nuqneH
Danke Qapla
Ich nutze Drupal und möchte unter jedes Bild eine Quellenangabe schreiben.
Dann ist ein Attribut wohl falsch; Attributwerte werden nicht dargestellt (von Ausnahmen wie img/@alt und input/@value mal abgesehen).
<div>
<img src="foo" alt="Foo"/>
<p>Quelle: <a href="bar">Bar</a></p>
</div>
Qapla'
<div>
<img src="foo" alt="Foo"/>
<p>Quelle: <a href="bar">Bar</a></p>
</div>
Da wäre auch Verwendung für ein <cite> Element
mfg Beat
--
><o(((°> ><o(((°>
<°)))o>< ><o(((°>o
Der Valigator leibt diese Fische
Dann ist ein Attribut wohl falsch; Attributwerte werden nicht dargestellt (von Ausnahmen wie img/@alt und input/@value mal abgesehen).
Oder man hilft nach:
img:after {
content: "Quelle: "attr(longdesc);
display: block;
}
Wahlweise auch mit :outside.
Leider kann man auch in CSS 3 afaik keine verfolgbaren Links damit darstellen.
Eine Möglichkeit ist aber, das Ganze per JavaScript zu bauen (der von dir vorgeschlagene Code) und als Fallback die CSS-Variante zu verwenden.
Hi,
Oder man hilft nach:
img:after {
content: "Quelle: "attr(longdesc);
display: block;
}
Das geht nicht.
element:after ist per Definition genauso zu rendern, als ob der content vor dem schliessenden Tag des elements eingefügt worden wäre, also bspw.
`<p>vorhandener Inhalt des Absatzes</p>`{:.language-html}
`p:after { content: 'XYZ'; }`{:.language-css}
wäre so darzustellen, als ob da stünde:
`<p>vorhandener Inhalt des Absatzes <span>XYZ</span></p>`{:.language-html}
`<img><span/></img>`{:.language-html} geht aber nicht.
MfG ChrisB
--
“Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
Das geht nicht.
Dann machens die von mir getesteten Browser falsch :) wird jedenfalls wie gewünscht dargestellt. Sollte das tatsächlich falsch sein: :outside:after wäre eine Möglichkeit.
<img><span/></img>
geht aber nicht.
Im HTML-Code nicht, aber im DOM ist das herzlich egal.
span-Elemente dürfen keine Block-Elemente enthalten - dennoch geht ein span:after { content: 'foo'; display: block; } problemlos.
@@suit:
nuqneH
span-Elemente dürfen keine Block-Elemente enthalten - dennoch geht ein span:after { content: 'foo'; display: block; } problemlos.
Unterscheide zwischen HTML-Blockelementen und CSS-Blockelementen!
http://forum.de.selfhtml.org/archiv/2006/6/t132132/#m854853, http://forum.de.selfhtml.org/archiv/2007/4/t149631/#m972077 ff.
Qapla'