
Ausgewählt, doch nicht im Fokus: Fehler in Golden Gate betrifft Finder und SwiftUI-Apps


Viele Mac-Anwender bleiben Apples Systemen über viele Jahre und Änderungen treu. Ein wichtiger Grund dafür besteht in der konsistenten grafischen Bedienschnittstelle (Graphical User Interface, GUI). Anwender können sich darauf verlassen, dass Finder und Programme stets verlässlich und einheitlich auf Klick, Drag & Drop etc. reagieren. Doch ausgerechnet hier scheint sich mit macOS 27 Golden Gate ein merkwürdiger Fehler eingeschlichen zu haben, den Howard Oakley
entdeckt und analysiert hat: Unter bestimmten Bedingungen wählt ein Klick ein Objekt aus, scheitert aber dabei, den Fokus daraufzulegen.
Am einfachsten konnte Oakley dies in der Spaltendarstellung des Finders dokumentieren: Wählt man ein Dokument innerhalb eines Ordners an einem schmalen Bereich ganz rechts in der Spalte aus, erscheint zwar weiter rechts die Dokumentvorschau, doch die Datei wird lediglich in Grau hervorgehoben. Der Fokus, gekennzeichnet durch eine blaue Hervorhebung, verbleibt auf dem Ordner eine Spalte weiter links.
Interaktion auf Fokus-Objekt beschränktDas Problem: Jede darauffolgende Interaktion, etwa über Tastenkürzel oder Pfeiltasten, bezieht sich auf das Objekt im Fokus, nicht auf das grau hinterlegte Element in der Spalte weiter rechts. Diese Inkonsistenz beschränkt sich nicht auf den Finder; Oakley stellte fest, dass die Funktionalität seines kostenlosen Protokollrecherchewerkzeugs
LogUI beeinträchtigt.
Seltsamer Bug in Golden Gate: Eine Datei wird bei einem Klick ausgewählt, aber nur teilweise – der Fokus verbleibt auf dem vorher ausgewählten Bedienelement.
"A new Click, huzzah!"Um diesem seltsamen und zugleich inkonsistenten Verhalten auf die Spur zu kommen, führte er eine
Log-Analyse durch, um zu beobachten, was da in macOS vor sich geht. Er stellte dabei deutliche Unterschiede fest zwischen einem „gelungenen“ Klick mit Fokusänderung und einem nicht fokussierenden Klick, bei dem das ausgewählte Objekt lediglich einen grauen Hintergrund erhält: Offenbar scheitert die AppKit-Statusänderung auf zunächst „Began“ und später „Cancelled“. Andere Teile der Auswahlaktion laufen korrekt ab. In den Protokollen offenbart sich auch etwas Humor der Entwickler: Ein gelungener Klick kommentieren die Protokolleinträge mit „A new Click, huzzah!“.
Statusmeldungen in macOS-Protokolldateien sind ausführlich – und nicht humorbefreit.
Abhilfe mit Swift UI-SchnipselDer Entwickler Philip Savoulidis pflichtet Oakley bei, er sieht den Fehler bei den Ansichten „Table“ und „List“ in SwiftUI-Programmen. Mail und besonders stark die Passwörter-App sind seiner Ansicht nach ebenfalls betroffen. Er hat ein Code-Beispiel in den Kommentaren zu Howard Oakleys
ursprünglichem Beitrag veröffentlicht. Zwei Kommentare später veröffentlichte er zudem eine SwiftUI-Übergangslösung, welche es unabhängigen App-Entwicklern erlaubt, volle Funktionsfähigkeit wiederherzustellen, bis Apple den Fehler behebt.