## Accessibility To help ensure your bottom navigation item is accessible to as many users as possible, please be sure to review the following recommendations: `-accessibilityLabel` The label will be the title of the UITabBarItem. Currently you can't set this to a custom value. `-accessibilityValue` Set an appropriate `accessibilityValue` value if your item has a badge value. For example, an item with an inbox icon with a badge value for how many emails are unread. You should explicitly set the `accessibilityValue` when the badge value doesn't provide enough context. For example, in an inbox example simply having the value "10" doesn't provide enough context, instead the accessibility value should explain what the badge value symbolizes. The default value if there is a badge value and you haven't set any `accessibilityValue` will be that the `accessibilityValue` is the `badgeValue`. #### Swift ```swift tabBarItem.accessibilityValue = "10 unread emails" ``` #### Objective-C ```objc tabBarItem.accessibilityValue = @"10 unread emails"; ``` ### Minimum touch size Make sure that your bottom navigation bar respects the minimum touch area. The Material spec calls for [touch areas that should be least 48 points high and 48 wide](https://material.io/design/layout/spacing-methods.html#touch-click-targets). #### Swift ```swift override func viewWillLayoutSubviews() { super.viewWillLayoutSubviews() let size = bottomNavBar.sizeThatFits(view.bounds.size) let bottomNavBarFrame = CGRect(x: 0, y: view.bounds.height - size.height, width: size.width, height: size.height) bottomNavBar.frame = bottomNavBarFrame } ``` #### Objective-C ```objc - (void)viewWillLayoutSubviews { [super viewWillLayoutSubviews]; CGSize size = [_bottomNavigationBar sizeThatFits:self.view.bounds.size]; CGRect bottomNavBarFrame = CGRectMake(0, CGRectGetHeight(self.view.bounds) - size.height, size.width, size.height); _bottomNavigationBar.frame = bottomNavBarFrame; } ```