blockly > IFocusableNode

IFocusableNode arayüzü

Giriş odağına sahip olabilecek her şeyi temsil eder.

İmza:

export interface IFocusableNode 

Yöntemler

Yöntem Açıklama
canBeFocused()

Bu düğümün odaklanmaya izin verip vermediğini gösterir. Bu yöntem false değerini döndürürse diğer IFocusableNode yöntemlerinin hiçbiri çağrılmaz.

Bu işlevin uygulamaları, düğümün kullanım ömrü boyunca dönüş değerini dinamik olarak değiştirirse özel dikkat gösterilmesi gerektiğini unutmayın. Çünkü belirli ortam koşulları, bu düğümün DOM öğesinin odaklanılabilirliğini etkileyebilir (ör. öğenin pozitif veya sıfır tabindex'e sahip olup olmadığı). Ayrıca, düğüm odaklanmış durumdayken true değerinden false değerine geçiş yapılması, düğümün mevcut odağını veya FocusManager'ın dahili durumunu hemen değiştirmez. Bu nedenle, düğümün bazı işlevleri daha sonra odak kaldırıldığında çağrılabilir (çünkü daha önce odaklanma sırasında odaklanılabilir olarak kabul edilmiştir).

Bu düğümün odaklanma açısından atlanması gereken durumlar olmadığı sürece uygulamalar genellikle her zaman doğru (true) değerini döndürmelidir. Örnek olarak devre dışı bırakılmış, salt okunur, tamamen görsel bir süsleme veya bu arayüzü uygulaması gereken (ör. üst arayüzün genişletilmesi nedeniyle) görsel temsili olmayan bir düğüm verilebilir. Bir düğümün odaklanılabilir olup olmayacağını belirlerken erişilebilirlikle ilgili en iyi uygulamaları göz önünde bulundurun. Devre dışı bırakılmış ve salt okunur öğeler bile, kullanıcılara (özellikle ekran okuyucu kullanırken) kuruluş bağlamı sağlamak için genellikle önemlidir.

getFocusableElement()

Odağı alması için açıkça istenebilecek DOM öğesini döndürür.

ÖNEMLİ: Bu öğenin, hem açıkça odaklanılacağı hem de mevcut odaklanma durumuna (ör. bulanık, etkin olarak odaklanılmış ve pasif olarak odaklanılmış) bağlı olarak stilinin değiştirileceği için sayfada görsel olarak bulunması gerektiğini lütfen unutmayın. Öğeye iki stilden biri eklenir (stil yoksa bulanık/odaklanmamış demektir): - blocklyActiveFocus - blocklyPassiveFocus

Döndürülen öğede geçerli bir kimlik de belirtilmelidir ve bu kimlik, sayfanın tamamında benzersiz olmalıdır. Benzersiz bir kimliğin olmaması, bir düğüme odaklanmaya çalışırken (ör. fare tıklamasıyla) aynı kimliğe sahip başka bir düğümün FocusManager tarafından odaklanmasına neden olabilir.

Döndürülen öğe, düğüm FocusManager.focusNode() veya FocusManager.focusTree() aracılığıyla odaklandığında görünür olmalıdır. Bir öğenin, onNodeFocus() çağrılana kadar gizlenmesine veya onNodeBlur() çağrısıyla gizlenmesine izin verilir.

Döndürülen gerçek öğenin, düğümün kullanım ömrü boyunca değişmemesi beklenir (yani özellikleri değişebilir ancak hiçbir zaman yeni bir öğe döndürülmemelidir). Ayrıca, döndürülen öğenin tabindex'i bu düğümün ve FocusManager'ın yaşam döngüsü boyunca üzerine yazılır.

Bir düğümün önce FocusManager aracılığıyla odaklanmadan doğrudan odaklanabilmesi gerekiyorsa kendi sekme dizinini ayarlaması gerekir.

getFocusableTree() Bu düğümün en yakın üst ağacını (bir ağacın altında farklı ağaçlar olduğu durumlarda) döndürür. Bu, düğümün ait olduğu ağacı temsil eder.
onNodeBlur()

Bu düğüm etkin odağı kaybettiğinde çağrılır. Hâlâ pasif odaklanma modunda olabilir.

Bu işlev, onNodeFocus() ile aynı uygulama kısıtlamalarına sahiptir.

onNodeFocus()

Bu düğüm etkin odak aldığında çağrılır.

Uygulamaların görünürlük değiştiricilerini değiştirmesinde sorun yoktur ancak aşağıdaki işlemlerden kaçınmaları gerekir: - DOM öğeleri oluşturma veya kaldırma (oluşturucu ya da çekmece aracılığıyla yapılanlar dahil). - DOM focus() çağrıları veya FocusManager aracılığıyla odağı etkileme.