Как правильно добавить WKWebView к accessibilityElements в AccessibilityContainer? - PullRequest
0 голосов
/ 13 июня 2019

У меня есть настроенное дерево специальных возможностей, использующее AccessibilityContainer и AccessibilityElements.Теперь я хочу добавить WKWebView в один из AccessibilityContainers в качестве AccessibilityElements.

Все работает, за исключением того, что если я хочу выбрать элемент доступности напрямую (перемещая палец по веб-представлению, чтобы найти элементы).

Я заменил WKWebView устаревшим UIWebView, и он работал безупречно.

И если у меня нет настраиваемого дерева, доступность WKWebView также работает отлично.

Я создал пример кода, чтобы воспроизвести проблему, то, что я делаю в этом коде, может не иметь смысла в реальном приложении, но оно копирует настройку, установленную в моем проекте.

@implementation ViewController

- (void)viewDidLoad {
  [super viewDidLoad];

  UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, 100)];
  label.backgroundColor = [UIColor yellowColor];
  label.textColor = [UIColor blueColor];
  label.text = @"Here is some text";

  CGRect webViewRect = CGRectMake(0, 100, self.view.bounds.size.width, self.view.bounds.size.height-100);

  WKWebView *webview = [[WKWebView alloc] initWithFrame:webViewRect];
  [webview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"https://google.com"]]];
  webview.accessibilityFrame = webViewRect;

  [self.view addSubview:label];
  [self.view addSubview:webview];
  self.view.accessibilityElements = @[label, webview];
  // Do any additional setup after loading the view, typically from a nib.
}

Я бы ожидал, что элементы в WKWebView могут быть выбраны инспектором специальных возможностей, но в этом случае их нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...