Found a few ways in which the Braille problem with browsers could resurface. Fixed now.

This commit is contained in:
Storm Dragon committed 2026-11-03 16:48:39 -05:00
1 parent 0a3d946ffa
commit a47253d697
13 files changed
+292 -23

No files matched your search

+23
View File
@@ -169,6 +169,29 @@ chromeFocus:
if !mixedLine.Expanded || strings.ContainsRune(mixedLine.Text, '\ufffc') || !strings.Contains(mixedLine.Text, "Inline message link") {
t.Fatalf("mixed braille line not expanded: %+v", mixedLine)
}
if err := adapter.SetDocumentCaretPosition(ctx, parent, event.Source.ID(), 0); err != nil {
t.Fatalf("place mixed-line caret: %v", err)
}
caretDeadline := time.NewTimer(3 * time.Second)
caretEvent:
for {
select {
case caret := <-adapter.Events():
if caret.Type != CaretEvent || caret.Source.ID() != parent.ID() {
continue
}
caretDeadline.Stop()
if caret.Source.BrailleLine != mixedLine.RawText || !strings.Contains(caret.Source.Text, "Inline message link") || strings.ContainsRune(caret.Source.Text, '\ufffc') {
t.Fatalf("caret repair lost embedded text: text=%q raw=%q", caret.Source.Text, caret.Source.BrailleLine)
}
break caretEvent
case <-caretDeadline.C:
t.Fatal("mixed-line caret event missing")
case <-ctx.Done():
caretDeadline.Stop()
t.Fatal(ctx.Err())
}
}
var paragraph ObjectReference
captured, err := page.Document(ctx, ref)
if err != nil {