Skip to content

macos: investigate accessibilityLiveRegion API resolution failure on macos-15 runner #146

@Salem874

Description

@Salem874

Background

Follow-up to #145. ServerView.swift previously called:

```swift
Text(model.status.displayText)
.accessibilityLabel("Server status: (model.status.displayText)")
.accessibilityLiveRegion(.polite)
```

This failed to compile on the GitHub Actions macos-15 runner with:

  • `error: value of type 'Text' has no member 'accessibilityLiveRegion'`
  • `error: cannot infer contextual base in reference to member 'polite'`

Despite `Package.swift` declaring `platforms: [.macOS(.v15)]` and `accessibilityLiveRegion(_:)` being documented as available on macOS 14.0+.

#145 applied a pragmatic fix: drop the line with a TODO so other CI failures could be addressed. This issue tracks the proper investigation + restoration of the live-region announcement.

Investigation TODO

  • Reproduce locally on a macOS 15 dev machine with Xcode matching the macos-15 runner.
  • Check Xcode version on macos-15 runner via `xcode-select -p && xcodebuild -version` step.
  • Determine whether the issue is: SDK skew (runner SDK behind), Swift 6 strict-type-inference quirk, or modifier needs explicit `View` extension import.
  • Apply correct fix (e.g. explicit `AccessibilityLiveRegion.polite`, or version guard, or use of a different API).
  • Remove the TODO comment in `ServerView.swift` and restore the live-region announcement.
  • Verify CI passes on macos-15.

Accessibility impact while open

Server status changes are still announced via `accessibilityLabel` (read on focus) — only the automatic live-region announcement on status change is missing. Users who keep focus on the status indicator won't notice; users navigating away during an operation won't hear status updates without re-focusing.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions