2010-07-28 6 views
6

Ich habe ein Java-Applet mit mehreren fokussierbaren Elementen, die in eine Webseite eingebettet ist.Tabbing in und aus Java-Applet auf Webseite

Ist es möglich, die Elemente im Applet Teil der logischen Tab-Reihenfolge des Rests der Seite zu machen?

Zur Klarstellung: Ich würde Tab verwenden möchten von einem Element außerhalb des Applet auf das erste Element des Applets zu bewegen und dann Umschalttaste + Tab verwenden, um wieder auf das Element außerhalb des Applet zu bewegen. Ebenso möchte ich Tab verwenden, um vom letzten Element des Applets zum nächsten Element der Webseite zu gelangen und Shift + Tab zurück zu bewegen.

Antwort

4

Sie können durch das Anbringen tabindex Attribute auf Ihre Elemente, einschließlich Ihr Applet object Element die Tab-Reihenfolge innerhalb Ihrer Seite definieren. Sie können die Tab-Reihenfolge in Ihrem Applet definieren, indem Sie die FocusTraversalPolicy class erweitern.

Angenommen, Sie haben drei Seite Kontrollen haben - A, B und C - von denen die zweite - B - Applet ist, und drei Applet Kontrollen - X, Y und Z. Wenn Sie Steuerelemente machen A, B und Ctabindex1, 2 und 3 und X, Y und Z erste bis dritte im Traversal-Zyklus, Ihre effektive Tabulatorfolge wird : A, X, Y , Z, C.

+0

tabIndex auf Applet-Tags verhält sich nicht einheitlich in den Browsern. Auf IE7 kann ich in das Applet Tab, aber ich kann nicht zurück Tab. Firefox lässt mich in das Applet einsteigen, aber nicht auf die Steuerelemente des Applets. Chrome ignoriert das Applet trotz tabIndex in der Taborder. Ich sehe keine Möglichkeit, in der FocusTraversalPolicy anzugeben, dass ich den Fokus außerhalb des Applets nach Z verschieben möchte (um Ihr Beispiel zu verwenden). Überschätze ich etwas? –

+0

@Rasmus Faber: AFAIK, du verpasst nichts. Applets sind einfach nicht Teil der Webseite, sondern eine Mini-Applikation (daher der Name), die auf der Seite eingebettet ist. –

+3

Ich stimme nicht zu, dass Applets nicht Teil der Seite sein sollen. Gemäß der HTML-Spezifikation sollte "tabindex" von "object" -Tags unterstützt werden: http://www.w3.org/TR/html401/interact/forms.html#adef-tabindex>. Der Ansatz, den ich beschrieben habe, sollte funktionieren, wenn sich die Browser nicht schlecht verhalten. Leider scheint es so, als ob sie es sind - ich habe einfach den ganzen Shebang ausprobiert und das widersprüchliche Verhalten zwischen Browsern reproduziert. In diesem Fall, Rasmus, fürchte ich, du bist, wie die Franzosen vielleicht sagen, "Scheiße, kein Glück". – oldestlivingboy