{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":1871273,"defaultBranch":"master","name":"nimbus","ownerLogin":"jverkoey","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2011-06-09T15:01:53.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/45670?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1594318486.0","currentOid":""},"activityList":{"items":[{"before":"11237e2d4d56240a2d805fed29cbfab9c24e2977","after":"06acbbf510b87008b48f855d84a97d1807b6eb7a","ref":"refs/heads/master","pushedAt":"2023-10-26T21:20:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"[core] Mark UIScreen-related APIs and NIIsPad/NIIsPhone as unavailable on visionOS.\n\nPiperOrigin-RevId: 576985963","shortMessageHtmlLink":"[core] Mark UIScreen-related APIs and NIIsPad/NIIsPhone as unavailabl…"}},{"before":"fd5143aee4ec552b673c969e95d277206c4e6b93","after":"11237e2d4d56240a2d805fed29cbfab9c24e2977","ref":"refs/heads/master","pushedAt":"2023-09-13T19:07:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"NIAttributedLabel overrides accessibleElements to essentially 'flatten' an accessibility container layer (link elements) on top of the text.\nWhen the links are sorted in-order then VO+VC work ideally as all accessibility elements sit on one layer. We can make sure that each element in this case has a unique touch point, which we make sure is on top of the link so that VO+VC and along with the UIView all direct gestures through the right selector. Yes you heard that right, the elements (NIViewAccessibilityElement) are actually just views but regardless override accessibility APIs directly instead of using a dummy accessibility view, meaning that the behavior of the links outside of VO are tied to the their VO functionailty (ie the activation point or ordering) but that is a whole other can of worms.\nWhen links are pre-ordered then an accessibleElement for the whole text is generated and added after all the link elements, meaning that VO+VC recognize all accessibleElements and once again the feature WAI. This ordering is weird since links come before the text which makes for a confusing UE.\nLinks would ideally be post-ordered by since again a VO element is generated in NIAttributedLabel's accessibleElements and this time comes before the links, now we have more issues since VC does not recognize the links (breaking GAR requirements) and also links are no longer tap-able (not a GAR requirement).\n\nThis change aligns most of the accessibilityActivationPoints by ensuring they are either the center point when not merging multiline links and is the bottom left point otherwise.\n\nPiperOrigin-RevId: 565122233","shortMessageHtmlLink":"NIAttributedLabel overrides accessibleElements to essentially 'flatte…"}},{"before":"1e03c493113d5d17130d426405af214b2dd6afa8","after":"fd5143aee4ec552b673c969e95d277206c4e6b93","ref":"refs/heads/master","pushedAt":"2023-08-28T19:11:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"Add tests to NIAttributedLabel for ensuring that accessibleElements have the correct frames under different link orderings whether merging multiline links or not. This file is still missing a lot of coverage but this is a good start.\n\nPiperOrigin-RevId: 560782099","shortMessageHtmlLink":"Add tests to NIAttributedLabel for ensuring that accessibleElements h…"}},{"before":"390b1ceb9ecf93f6ac909bdd32235c91ae74abd4","after":"1e03c493113d5d17130d426405af214b2dd6afa8","ref":"refs/heads/master","pushedAt":"2023-06-28T22:44:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"Add a new property `shouldCenterActivationPoint` to NIViewAccessibilityElement.\nThis property ensures multiline NIViewAccessibilityElements have unique touch points when merging multiline links into a single NIViewAccessibilityElement. When the first link contains either the first or the last word in the sentence and the second link spills between more than one line, the NIViewAccessibilityElement frames have the same top left point, which is used as the touch point. This causes an issue where NIAttributedLabel can't determine which accessibilityElement a touchPoint originated from, meaning that one of the two links can't register events. We solve this by using the center point of the frame, which is ensured to be unique (only for links in the same text) as multiline element frames would have unique y-coordinates.\n\nPiperOrigin-RevId: 544181302","shortMessageHtmlLink":"Add a new property shouldCenterActivationPoint to NIViewAccessibili…"}},{"before":"e660d27be2db41249872dee33373e7aca32b3d2a","after":"390b1ceb9ecf93f6ac909bdd32235c91ae74abd4","ref":"refs/heads/master","pushedAt":"2023-05-03T15:52:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"When determining the bounds for links in the attributedText, keep track of links in previous lines if they don't have any linked text after them in their respective lines. Use CGRectUnion (the smallest rectangle that contains the two source rectangles) to combine the bounds of a link in the current line with the combined bounds from previous links.\nThis prevents duplicate announcement of the same accessibility element during VoiceOver for attributedLabel text that contains links spanning multiple lines.\n\nPiperOrigin-RevId: 529103370","shortMessageHtmlLink":"When determining the bounds for links in the attributedText, keep tra…"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADoNauqQA","startCursor":null,"endCursor":null}},"title":"Activity · jverkoey/nimbus"}