hbz / metadaten.nrw

Metadaten.nrw-Projekt und Webseite
0 stars 0 forks source link

External links should open new tab #40

Closed kaena83 closed 11 months ago

kaena83 commented 12 months ago
acka47 commented 12 months ago

Bei den Buttons ist es schon umgesetzt, nicht aber bei den Praxisbeispielen.

sroertgen commented 11 months ago

Wie wichtig ist das? Das funzt nicht mit Markdown, weil Markdown kein target="_blank" kann. Dann müssten alle links regulär mit a-tags angegeben werden.

Dann können wir allerdings auch bald darüber nachdenken, den ganzen Markdown basierten Ansatz zu lassen :D

kaena83 commented 11 months ago

Hm. Naja. Ich fänd das schon gut und auch ziemlichen Standard heutzutage. Mich würde das ziemlich nerven, speziell wenn ich mehrere Praxisbeispiele parallel geöffnet lassen will und trotzdem zur Seite zurückkehren möchte um zu schauen, was sonst noch da ist. Aber markdown ist @acka47 ´s Spezialität, muss er entscheiden.

sroertgen commented 11 months ago

Teilweise wird es als Antipattern bezeichnet, weil die User ja die Möglichkeit haben, das selbst zu machen, über Ctrl-Click oder gedrückt halten und open in new tab und einfach zurück gehen können, wenn sie wollen, e.g.

Ich bin da aber offen für alles.

(Vllt führt der übermäßige Gebrauch von target=_blank, aber auch zu diesen riesigen Tabwüsten in meinem Handy und Laptop :D 🤔)

Phu2 commented 11 months ago

Usability-Experten wie NIelsen raten davon ab: https://www.nngroup.com/articles/new-browser-windows-and-tabs/ Nur in speziellen Situationen sollte der Link in einem neuen Fenster/Tab geöffnet werden. Und es sollte im besten Fall für die Nutzerin ersichtlich sein, dass der Link zu einer anderen Website führt, z. B. durch den Linktext.

kaena83 commented 11 months ago

Also mich hats schon genervt als ich es ausprobiert habe. Er beschreibt ja genau das, was ich meine: "the user will need to refer to that content in order to complete a task in another window." Ist ja eine Literetaturliste wenn man so will und es dient nicht dazu den User im Sinne einer User Journey weiterzuführen oder von unserer Seite wegzuführen. Die Idee ist ja, dass er mehrere Ressourcen parallel öffnen kann.

kaena83 commented 11 months ago

Da kommt aber auch schon eher mein grundsätzliches Markdown-Problem - etwas, das auf Grund seiner inhärenten Gestaltung keine Wahl lässt ist, für mich als Arbeitsmittel im Prinzip schon disqualifiziert. Speziell wenn es zig Alternativen gibt, wo sowas kein Problem ist.

kaena83 commented 11 months ago

... und es seit 1999 möglich ist, neue Tabs zu öffnen.

acka47 commented 11 months ago

Hmm, ich persönlich passe mich immer an die Seite an, wenn es nicht automatiych passiert, drücke ich Strg+Klick. Andersherum habe ich natürlich keine Wahl, wenn es hart gecodet ist.

es sollte im besten Fall für die Nutzerin ersichtlich sein, dass der Link zu einer anderen Website führt, z. B. durch den Linktext.

Ja, das ist auch Accessibility 1x1, oder? Es gibt da doch auch ein Icon für (finde ich gerade nicht).

Er beschreibt ja genau das, was ich meine: "the user will need to refer to that content in order to complete a task in another window." Ist ja eine Literetaturliste wenn man so will und es dient nicht dazu den User im Sinne einer User Journey weiterzuführen oder von unserer Seite wegzuführen. Die Idee ist ja, dass er mehrere Ressourcen parallel öffnen kann.

Das gilt ja höchstens für lobid, wo es tatsächlich mehrere Ressourcen gibt. Ansonsten ist das aber schon was anderes als eine Referenz aufzurufen, um Informationen zur weiteren Bearbeitung der bestehenden Seite (etwa eines Formulas) zu bekommen:

For example, someone doing their taxes may need to refer to a document describing various laws and regulations in detail in one window, with tax-preparation software open in another.

Ansonsten hört sich "es dient nicht dazu den User im Sinne einer User Journey weiterzuführen oder von unserer Seite wegzuführen" schon an nach "It will keep users on our site".

Da kommt aber auch schon eher mein grundsätzliches Markdown-Problem - etwas, das auf Grund seiner inhärenten Gestaltung keine Wahl lässt ist, für mich als Arbeitsmittel im Prinzip schon disqualifiziert. Speziell wenn es zig Alternativen gibt, wo sowas kein Problem ist.

Markdown ist eine leichtgewichtige MArkup-Sprache für HTML und tut damit eine guten Job. Würde es alles ermöglichen, was HTML kann, wäre es nicht mehr leichtgewichtig und einfach zu lernen. Will man mehr, kann in jedem Markdown-Dokument einfach HTML verwendet werden, siehe https://stackoverflow.com/questions/4425198/can-i-create-links-with-target-blank-in-markdown . Wenn es prinzipiel gut ist, Leuten eine Wahl zu lassen, sollten wir auch nicht Links automatisch in einem neuen Tab öffnen...

kaena83 commented 11 months ago

Wir bauen hier ja eine Webseite und wollen nicht Markdown lernen. Aber ich schließe dann mal dieses "Tab".

kaena83 commented 11 months ago

@sroertgen : Links sollten grundsätzlich keine neuen Tabs öffnen. Bitte rückgängig machen.

Phu2 commented 11 months ago

Das funzt nicht mit Markdown, weil Markdown kein target="_blank" kann.

Wir könnten dieses Remark-Plugin https://github.com/arobase-che/remark-attr verwenden. Die Links in Markdown sähen dann bspw. so aus:

[VZG-Standortverzeichnis von Bibliotheken mit weiterführenden Informationen](https://uri.gbv.de/organization/isil/DE-46){rel="external"}

[VZG-Standortverzeichnis von Bibliotheken mit weiterführenden Informationen](https://uri.gbv.de/organization/isil/DE-46){target="_blank"}

Ob/wie man mehrere Attribute angeben kann, weiß ich nicht.

acka47 commented 11 months ago

Wir vermischen hier zwei Fragen:

  1. Ist die Funktionalität wünschenswert?
  2. Wie könnte die Funktionalität umgesetzt werden?

Zunächst zu 2.) Andere Links werden ja momentan auch nicht als Mardown eingetragen und da können wir es entsprechend konfigurieren, z.B.:

https://github.com/hbz/metadaten.nrw/blob/99c830bc8b3a692bc7fc7ab5a167098cedd26b83/src/lib/components/MetadatenUndAPIs/Lobid/index.svx#L35-L39

Das könnten wir ja theoretisch auch für die Praxisbeispiele so umsetzen. Prinzipiell sind wir von einem Markdown-only-Ansatz momenan eh weit weg, ich musste ja letzte Woche selbst eine Menge Svelte anpassen, um Änderungen vorzunehmen. Es sollte aber doch theoretisch möglich sein, dass Svelte – mit etwas Implementierungsaufwand – die Praxisbeispiele-Dateien entsprechend einbaut und wir prinzipiell mehr in Markdown arbeiten, oder?

Zu 1.) Da eine konsistente Lösung, bei der alle externen Links in einem neuen Tab verwendet werden, a) Aufwand bedeutet und es b) aus Usability- und Accessibility-Sicht einige Argumente dagegen gibt, schlage ich vor, dass wir das erstmal lassen und – wie @kaena83 in https://github.com/hbz/metadaten.nrw/issues/40#issuecomment-1851646311 geschrieben hat – das erstmal rückgängig machen.

Phu2 commented 11 months ago

Es ist nicht verkehrt, das rel="external"-Attribut bei den externen Links zu ergänzen, siehe https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel#external

sroertgen commented 11 months ago

Prinzipiell sind wir von einem Markdown-only-Ansatz momenan eh weit weg,

Ja, da wir viele Elemente haben, die ein spezifisches Styling haben, ist es entweder markdown --> dann muss ich viele spezifische css selektoren bauen oder kein markdown und einfach html. Die spezifischen css selektoren sind natürlich auch recht fehleranfällig.

Dann lassen wir die Links wie sie sind.

Es ist nicht verkehrt, das rel="external"-Attribut bei den externen Links zu ergänzen, siehe https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel#external

Das geht dann bei den Markdown Links wieder nicht. Bei den anderen externen Links baue ich es ein und schließe nach Abnahme das Ticket.

sroertgen commented 11 months ago

Achso. Alle Links sollten jetzt im selben Tab öffnen. ok. mache ich