2012-04-20 34 views
6

Gizlenmiş içeriğe erişilebilirlik sağlamak için tabindex özniteliği ile div tabbable yaptık.Tabindex Odak Stilleri

Fare ile tıklandığında div tarayıcıya sahip :focus şekillendirici.

klavyesi aracılığıyla erişildiğinde, yalnızca odak stiline sahip olması için bu tabbable öğeye sahip olmanın bir yolu var mı? Bir bağlantı elemanı varsayılan olarak bu değere sahiptir. tabindex='0' ile

  • Div Çapa klavye etkileşimi tarayıcı odak stillerini alır
  • sadece

ben çapa taklit div istiyorum fare ve klavye etkileşime tarayıcı odak stillerini alır. Bir çapa yapmak maalesef bir seçenek değil.

Herhangi bir yardım harika olurdu, gerçekten bir kayıp yaşıyorum. javascript kullanabiliyorsa, kullanım onclick niteliğini denemek http://jsfiddle.net/LvXyL/2/

+0

FWIW: Açıkladığınız davranış aslında tarayıcıya bağlı gibi görünüyor: Chrome'da div, fare/klavye üzerinde odak stilini alır ancak açıkladığınız gibi yalnızca klavye üzerinde bağlantı kurar; ama IE'de * her ikisi de fare veya klavyede odak dikdörtgenini alır; Bu arada, Firefox'ta, odak çerçevesini * almayın, klavye o çerçevede kullanılıncaya kadar ve bundan sonra hem fare hem de klavye için odak özetini alın! – BrendanMcK

cevap

-1

: -

Düzen> İşte bir örnek. Daha uzun bir fare tuşunu basılı tutun eğer kümesi odak için kayıp odak

onclick="this.focus()" için

onclick="this.blur()" tık kaybetti odakta DIV ve A Odağı http://jsfiddle.net/LvXyL/6/

Dezavantajı ayarlanır

Örnek görünür odak tarzıdır zaman.

+0

Cevabınız için teşekkürler, bu oldukça yakın ancak odak, fare tıklandığında ve öğeyi tıklatıp sürüklerken kalır. –

+1

Bu.blur() işlevinin kullanılması, doğru klavye kullanımı ile etkileşime gireceğinden önerilmez. Tabbable div * üzerine tıklamak * odağı oraya ayarlamalı, ancak this.blur() öğesini kullanarak bunu engeller. – BrendanMcK

3

Sadece şunu ekleyin: odak sözde sınıfını div ve stiline ekleyin. Anahat vs border'ı kullanmanızı tavsiye ederim. Kemanı güncelledim.

div:focus {outline: blue solid 2px;} 

Kub bir JS çözümü önerdi, ancak aslında ihtiyacınız yoksa js kullanıyorsunuz?

+0

Çünkü, yalnızca fare ile değil, klavyeyle odaklanmak istiyor. – kubedan

+0

ve söz konusu kullanıcının JS kapalı olması durumunda ne olur? Bu yaklaşım, fare ve klavyeyi kapsar. –

+0

JS kapalıysa çözümüm çalışmıyor, elbette. – kubedan