Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[fix/a11y] Fix accessibility issues #1349

Open
wants to merge 28 commits into
base: master
Choose a base branch
from
Open

[fix/a11y] Fix accessibility issues #1349

wants to merge 28 commits into from

Commits on May 13, 2024

  1. Configuration menu
    Copy the full SHA
    0ba5b3e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5a6cc66 View commit details
    Browse the repository at this point in the history
  3. - INIFile: simple parse for .ini-file format files

    - INIFile+URLFile: simple extension for quickly parsing and composing .url files
    - URLDisplayViewController: stub implementation to handle .url files
    felix-schwarz committed May 13, 2024
    Configuration menu
    Copy the full SHA
    4bbe61e View commit details
    Browse the repository at this point in the history
  4. - URLDisplayViewController: implement code to display and allow openi…

    …ng shortcut URL
    
    - CreateURLShortcutAction: new action to create a URL shortcut in a folder
    - design and add "text-uri-list" icon
    felix-schwarz committed May 13, 2024
    Configuration menu
    Copy the full SHA
    8b5b07e View commit details
    Browse the repository at this point in the history
  5. - Action: add new .directOpen location to allow actions to directly…

    … open files from file lists, overriding viewers if needed
    
    - OCItem+Interactions: add support for `.directOpen` actions
    - INIFile+ShortcutResolution: implement support for shortcuts to other items on the same server
    - ShortcutFileDisplayViewController: implement support for shortcuts to other items on the same server, including an item preview
    - add new action OpenShortcutFileAction
    	- hooks into the `.directOpen` location
    	- uses INIFile+ShortcutResolution to open the contained link or jump to the targeted location
    	- asks users before opening links
    - rename files for better distinctibility:
    	- URLDisplayViewController -> ShortcutFileDisplayViewController
    	- CreateURLShortcutAction -> CreateShortcutFileAction
    - OCItem+UniversalItemListCellContentProvider: fix warning
    felix-schwarz committed May 13, 2024
    Configuration menu
    Copy the full SHA
    4fe3d80 View commit details
    Browse the repository at this point in the history
  6. - regrouping shortcut actions into their own folder

    - CreateShortcutFileAction: break out creation functionality into its own view controller
    - CreateShortcutFileViewController:
    	- dedicated view controller for creating shortcuts
    	- allows picking files and folders for shortcuts to point to and presents an embedded preview for them
    	- improved error handling
    - INIFile: fix formatting bug that could accidentally leak memory into the .url file
    - ClientLocationPicker: add ability to allow picking files via new .allowFileSelection property
    felix-schwarz committed May 13, 2024
    Configuration menu
    Copy the full SHA
    ffcae3d View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    0a0e58c View commit details
    Browse the repository at this point in the history
  8. - update SDK to fix an issue arising from Available Offline policies …

    …targeting unavailable/detached drives and removes the respective policies
    
    - adapt app code to SDK API changes
    felix-schwarz committed May 13, 2024
    Configuration menu
    Copy the full SHA
    a16f6af View commit details
    Browse the repository at this point in the history
  9. - Shortcuts:

    	- improved error reporting for when the target of a shortcut can't be accessed / found
    	- simplified and generalized prompt for opening the URL a shortcut points to
    felix-schwarz committed May 13, 2024
    Configuration menu
    Copy the full SHA
    9d6e456 View commit details
    Browse the repository at this point in the history
  10. - OpenShortcutFileAction, ShortcutFileDisplayViewController, INIFile+…

    …ShortcutResolution: add MDM option to allow all shortcuts, only URL shortcuts, only item shortcuts or no shortcuts
    felix-schwarz committed May 13, 2024
    Configuration menu
    Copy the full SHA
    e234e8c View commit details
    Browse the repository at this point in the history
  11. - Fix: selecting the root folder of a space or the personal folder's …

    …root, the name for the shortcut was not derived correctly
    felix-schwarz committed May 13, 2024
    Configuration menu
    Copy the full SHA
    51692f2 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    b0e448d View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    233bdc5 View commit details
    Browse the repository at this point in the history
  14. - PrivacyInfo.xcprivacy: remove extraneous space

    - Localizable.strings: re-add strings auto-removed by git during rebase
    felix-schwarz committed May 13, 2024
    Configuration menu
    Copy the full SHA
    1862e4f View commit details
    Browse the repository at this point in the history

Commits on May 15, 2024

  1. - swiftlint: disable large_tuple warning

    - ios-sdk: use branch fix/warnings that fixes OpenSSL warnings
    - replace associated keys using structs or strings with static malloc results as suggested by Apple Engineer Quinn (https://forums.swift.org/t/handling-the-new-forming-unsaferawpointer-warning/65523/7)
    - remove unneeded/unused overrides
    - reformat spacing in parts of the code and remove superfluous spaces to remove SwiftLint warnings
    - replace calls to CLLocationManager.authorizationStatus() with CLLocationManager.authorizationStatus
    - remove deprecated OpenSSL ERR_load_* calls, since OpenSSL loads these automatically (https://www.openssl.org/docs/man3.3/man7/migration_guide.html)
    - LAContext+Extension: add cases for Optic ID
    - remove unused variables and calls
    - remove unused, non-existent "gear.png" image from asset catalog
    felix-schwarz committed May 15, 2024
    Configuration menu
    Copy the full SHA
    c0acb89 View commit details
    Browse the repository at this point in the history

Commits on May 17, 2024

  1. - fix #1329

    - fix #1330
    felix-schwarz committed May 17, 2024
    Configuration menu
    Copy the full SHA
    7d007e2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9802be1 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d40c693 View commit details
    Browse the repository at this point in the history
  4. - ownCloud.xcscheme: make focus debugging options available

    - Localizable.strings: add missing key and translation for sort bar item to toggle layout
    - SortBar: make sort mode and multiselection buttons accessible by keyboard navigation (via tab and shift-tab), resolving the top issue of #1336
    - ViewCell: pass through accessibilityRespondsToUserInteraction from hosted view, allowing to opt out of keyboard navigation
    - ClientItemViewController: opt out statistics footer from keyboard navigation
    - ClientLocationBarController, OCLocation+Breadcrumbs: make keyboard navigatable
    - SegmentViewItem: add support for isAccessibilityElement and accessibilityTraits
    felix-schwarz committed May 17, 2024
    Configuration menu
    Copy the full SHA
    c94c953 View commit details
    Browse the repository at this point in the history
  5. - AccountController+ItemActions: add context menu action for "Disconn…

    …ect"
    
    - AccountControllerCell: add accessibility custom action for "Disconnect"
    - OCShare+UniversalItemListCellContentProvider: add accessibility custom actions for "Accept share" and "Decline share"
    - UniversalItemListCell:
    	- add key commands for "More" (Enter), "Reveal" (right cursor) and "View message" (Enter)
    	- add accessibility custom actions for "More", "Reveal" and "View message"
    - add new and missing localizations
    felix-schwarz committed May 17, 2024
    Configuration menu
    Copy the full SHA
    3fcff0b View commit details
    Browse the repository at this point in the history

Commits on May 22, 2024

  1. - DisplayHostViewController:

    	- add methods for manually navigating to previous/next item
    	- implement keyboard shortcuts (Shift + left-arrow / right-arrow) to navigate items
    - DisplayViewController:
    	- make first responder when shown to get keyboard focus
    	- add workaround to avoid blue overlay effect when focused
    - SortBar: add layout guide to establish a better navigation order of items in the bar
    - BrowserNavigationViewController: add focus group identifiers to content and sidebar views
    felix-schwarz committed May 22, 2024
    Configuration menu
    Copy the full SHA
    2552083 View commit details
    Browse the repository at this point in the history
  2. - ActionCell: direct keyboard focus to embedded buttons, allowing to …

    …reach them via the keyboard (similar to issue in #1336)
    
    - DriveHeaderCell: replace hardcoded background color for darkBackgroundView with new "semicover" CSS selector and ThemeCSSView
    - DriveGridCell: dynamically change CSS selectors based on focused state and trigger color updates (enabling fix for #1338)
    - SavedSearchCell: make side button actions (typically "Add to sidebar") accessible as custom accessibility action
    - UniversalItemListCell: reflect .isFocused state changes in the CSS selectors of the primary and secondary detail views
    - ComposedMessageView: opt-out of keyboard focus (see #1337)
    - OCAction+UIAction: add method to derive a UIAccessibilityCustomAction from an OCAction
    - SegmentView: re-create and layout item views if CSS selectors change
    - ThemeCSS: add new .focused selector
    - ThemeCollection: add new records for focused state of UniversalItemListCell (to fix contrast of secondary line, see #1338) and drive grid cell (to clearly distinguish focused and unfocused states, see #1338)
    felix-schwarz committed May 22, 2024
    Configuration menu
    Copy the full SHA
    d3cd5d4 View commit details
    Browse the repository at this point in the history

Commits on May 23, 2024

  1. - SortBar: add VoiceOver labels including direction to sort popup but…

    …ton and its menu (fixing issue 1 in #1341)
    
    - SortMethod: rename SortDirection.ascendant and SortDirection.descendant to proper English terms ascending and descending
    - add translations for new strings
    felix-schwarz committed May 23, 2024
    Configuration menu
    Copy the full SHA
    0b25ef2 View commit details
    Browse the repository at this point in the history
  2. - SegmentViewItem: add accessibilityLabelSummary accessor that compil…

    …es a summary of an array of items usable as an accessibilityLabel
    
    - OCItem+Extension: add .accessibilityDateFormatter and .lastModifiedLocalizedAccessible accessors for formatting dates in formats that can be read by VoiceOver (fixing issue 5 in #1341)
    - UniversalItemListCell:
    	- from an accessibility perspective: replace building blocks that make up the cell content with a single accessibility element containing the complete information (fixing issue 2 in #1341)
    	- make the more button NOT available as accessibility element so that item lists can be browsed fluently in VoiceOver. Where users want to access the more button, they can do so via the custom accessibility actions, which include the more button. When the cell is selected, swiping up and down allows picking an action, including "More".
    - OCItem+UniversalItemListCellContentProvider: add accessibility labels for use by UniversalItemListCell and SegmentViewItem
    - add localizations for new strings
    felix-schwarz committed May 23, 2024
    Configuration menu
    Copy the full SHA
    6f11ba8 View commit details
    Browse the repository at this point in the history
  3. - ActionCell:

    	- add button trait (fixes #1341 sidebar issue)
    	- fix warning, replace random number with UUID (even better)
    - DriveGridCell: add role, use name of space as accessibility label, subtitle as accessibility hint and offer additional actions via accessibility custom actions.
    - DriveListCell: add title for "moreAction" so that it can be converted to a accessibility custom action (which require a non-"" title)
    - SavedSearchCell: consolidate accessibility elements, provide consolidated accessibility label derived from title and detail segment content
    - OCShare+UniversalItemListCellContentProvider: provide VoiceOver-readable expiration date for links as accessibilityLabel (fixes #1341 issue)
    - PopupButtonController: set accessibility label based on title so VoiceOver doesn't read out the rich-text image that is used
    felix-schwarz committed May 23, 2024
    Configuration menu
    Copy the full SHA
    f1c1c10 View commit details
    Browse the repository at this point in the history
  4. - DriveListCell: add accessibility trait to fix issue 7 in #1341

    - SortBar: change accessibility label for multiselect button depending on status (fixes issue 3 in #1341)
    - ActionCell: make cell a proper accessibility element (fixes issue 4 in #1341)
    - ClientItemViewController: fix issue 4 in #1341
    felix-schwarz committed May 23, 2024
    Configuration menu
    Copy the full SHA
    8d6dd8e View commit details
    Browse the repository at this point in the history
  5. - AccountControllerCell: add accessibility label and role, fixing iss…

    …ue 6 in #1341 and improving on previous fix for #1333
    felix-schwarz committed May 23, 2024
    Configuration menu
    Copy the full SHA
    123edd4 View commit details
    Browse the repository at this point in the history

Commits on May 27, 2024

  1. Configuration menu
    Copy the full SHA
    154809d View commit details
    Browse the repository at this point in the history