Skip to content

Commit 4faf4eb

Browse files
author
Bianca Marina Stana
committed
Merge branch 'unite2025/lsp-uitk' into unite2025/screen-reader-improvements
2 parents 1178dbe + 4da1514 commit 4faf4eb

File tree

4 files changed

+62
-8
lines changed

4 files changed

+62
-8
lines changed

Assets/Scripts/Screen Reader/UITk/AccessibleProperties.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,10 @@ public bool allowsDirectInteraction
124124
public event Func<AccessibilityScrollDirection, bool> scrolled;
125125
public event Func<bool> dismissed;
126126

127+
public bool selectable => selected != null;
128+
public bool scrollable => scrolled != null;
129+
public bool dismissable => dismissed != null;
130+
127131
internal void InvokeFocused(AccessibilityNode accessibilityNode, bool isFocused)
128132
{
129133
focused?.Invoke(isFocused);

Assets/Scripts/Screen Reader/UITk/Handlers/VisualElementAccessibilityHandler.cs

Lines changed: 54 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ public event Func<bool> selected
222222
{
223223
m_Selected -= value;
224224

225-
if (m_Selected == null)
225+
if (!m_Selectable)
226226
{
227227
DisconnectFromSelected();
228228
}
@@ -245,7 +245,7 @@ public event Func<AccessibilityScrollDirection, bool> scrolled
245245
{
246246
m_Scrolled -= value;
247247

248-
if (m_Scrolled == null)
248+
if (!m_Scrollable)
249249
{
250250
DisconnectFromScrolled();
251251
}
@@ -265,13 +265,61 @@ public event Func<bool> dismissed
265265
{
266266
m_Dismissed -= value;
267267

268-
if (m_Dismissed == null)
268+
if (!m_Dismissable)
269269
{
270270
DisconnectFromDismissed();
271271
}
272272
}
273273
}
274274

275+
bool m_Selectable
276+
{
277+
get
278+
{
279+
var selectable = m_Selected != null;
280+
var acc = m_OwnerElement?.GetAccessibleProperties();
281+
282+
if (acc != null)
283+
{
284+
selectable |= acc.selectable;
285+
}
286+
287+
return selectable;
288+
}
289+
}
290+
291+
bool m_Scrollable
292+
{
293+
get
294+
{
295+
var scrollable = m_Scrolled != null;
296+
var acc = m_OwnerElement?.GetAccessibleProperties();
297+
298+
if (acc != null)
299+
{
300+
scrollable |= acc.scrollable;
301+
}
302+
303+
return scrollable;
304+
}
305+
}
306+
307+
bool m_Dismissable
308+
{
309+
get
310+
{
311+
var dismissable = m_Dismissed != null;
312+
var acc = m_OwnerElement?.GetAccessibleProperties();
313+
314+
if (acc != null)
315+
{
316+
dismissable |= acc.dismissable;
317+
}
318+
319+
return dismissable;
320+
}
321+
}
322+
275323
void ConnectToNode()
276324
{
277325
ConnectToFocusChanged();
@@ -323,7 +371,7 @@ void ConnectToSelected()
323371
{
324372
// Implementing the selected event tells the screen reader that the node is selectable, which may lead to
325373
// a specific behaviour. Therefore, we don't implement the node's selected event unless we actually need it.
326-
if (node == null || m_Selected == null)
374+
if (node == null || !m_Selectable)
327375
{
328376
return;
329377
}
@@ -431,7 +479,7 @@ void InvokeDecremented()
431479
void ConnectToScrolled()
432480
{
433481
#if UNITY_6000_3_OR_NEWER
434-
if (node == null || m_Scrolled == null)
482+
if (node == null || !m_Scrollable)
435483
{
436484
return;
437485
}
@@ -474,7 +522,7 @@ void ConnectToDismissed()
474522
// Implementing the dismissed event tells the screen reader that the node is dismissible, which may lead to
475523
// a specific behaviour. Therefore, we don't implement the node's dismissed event unless we actually need
476524
// it.
477-
if (node == null || m_Dismissed == null)
525+
if (node == null || !m_Dismissable)
478526
{
479527
return;
480528
}

Assets/Scripts/UITk/Card.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
using UnityEngine.Accessibility;
55
using UnityEngine.UIElements;
66
using Unity.Samples.ScreenReader;
7-
using Button = UnityEngine.UIElements.Button;
87

98
namespace Unity.Samples.LetterSpell
109
{

Assets/Scripts/UITk/MainView.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -599,7 +599,10 @@ void OnLetterCardsChanged()
599599
card.text = letterCard.letter.ToString();
600600
card.name = letterCard.letter.ToString();
601601
card.GetOrCreateAccessibleProperties().label = card.text;
602-
card.dropped += (oldIndex, newIndex) => { gameplay.ReorderLetter(oldIndex, newIndex); };
602+
card.dropped += (oldIndex, newIndex) =>
603+
{
604+
gameplay.ReorderLetter(oldIndex, newIndex);
605+
};
603606
}
604607
}
605608

0 commit comments

Comments
 (0)