Egal, was ich versuche, kann ich nicht meine benutzerdefinierte UITableViewCell von handeln wie es sollte unter den Standardregeln für UIAccessiblity. Ich möchte nicht, dass sich diese Zelle wie ein Container für Barrierefreiheit verhält (per se), also sollte ich nach dieser guide alle meine Subviews zugänglich machen können, richtig ?! Es heißt, jedes Element separat zugänglich zu machen und sicherzustellen, dass die Zelle selbst nicht zugänglich ist.Benutzerdefinierte UITableViewCell Problem mit UIAcessibility-Elemente
- (BOOL)isAccessibilityElement
{
return NO;
}
- (NSString *)accessibilityLabel
{
return nil;
}
- (NSInteger)accessibilityElementCount
{
return 0;
}
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier //cells use this reusage stuff
{
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier])
{
[self setIsAccessibilityElement:NO];
sub1 = [[UILabel alloc] initWithFrame:CGRectMake(0,0,1,1)];
[sub1 setAccessibilityLanguage:@"es"];
[sub1 setIsAccessibilityElement:YES];
[sub1 setAccessibilityLabel:sub1.text]
sub2 = [[UILabel alloc] initWithFrame:CGRectMake(0,0,1,1)];
[sub2 setAccessibilityLanguage:@"es"];
[sub2 setIsAccessibilityElement:YES];
[sub2 setAccessibilityLabel:sub2.text]
Die Voice-over-System liest den Inhalt der gesamten Zelle auf einmal, obwohl ich versuche, dieses Verhalten zu stoppen. Ich könnte sagen
aber das würde würde dieses Element völlig unlesbar machen. Ich möchte es lesbar halten, aber nicht die ganze Zelle wie einen Container behandeln (und angenommen, dass es die englische Sprache ist). Es scheint nicht viele Informationen darüber zu geben, also möchte ich es zumindest dokumentieren.
Kennen Sie seine, wenn die Subviews rekursiv durch? –
Wenn Sie IsAccessibilityElement auf YES setzen, sagt das alles? –