Grid Accessibility / User-sort


Is there a way to set the accessibility label for the sort buttons added with
column.sortMode = SDataGridColumnSortModeBiState;
so it activates correctly for voiceover?


Revisited.  Here is an example of the accessibility properties not setting correctly.  Add frameworks, add license keys, turn on the accessibility inspector in the simulator settings.  The accessibility information does not show up for the forename column (grid 1).  What do I need to do differently?

Grid 1 is using core data.  Grid 2 is still the default example.


Hi CattailNu,

I tried turning on the Accessability Inspector on the iOS simulator, but it seems to keep crashing the simulator, even before I start up your application.

When I run your application, it crashes after a while (as do the apps that come along with the simulator) after showing the following test in the Accessability Inspector:
“Layout Change, Layout Change, Layout Change, Layout Change, Screen Change”

Can I ask what version of iOS you are running this on?

As far as I understand the Accessability Inspector, it is a debugging tool to help understand the information that is available to iOS’s voice over options. I don’t see anything about the contents of the grid at all!

Are you having any of these problems?  :scream:



Thank you for looking at this for me.

OS X 10.8.5 Mountain Lion
Xcode 5.02
iOS Simulator 7.0 (463.9.4.2), destination iPad
(Yes, pre-Mavericks version. I can test on an updated machine this weekend.)

Drop in grid framework, essentials framework, essentials bundle.
License keys 3 places.

It’s possible that the new simulator has tried to implement the latest accessibility changes and has something broken:

The accessibility inspector launch does weird things to your normal interaction with the simulator. Click button, double click it to use the button, etc.

I don’t have preloaded data on Grid 1 (that first shows), so you have to use the Add Records to Grid 1. When you get it working, the Add Records button has the accessibility descriptors implemented, so you can see what they should look like elsewhere.

I haven’t had it crash on me just playing around, but it may not be properly releasing cells and overloading memory?

  • T


Greetings Programs!

I am able to run the app with the latest release versions of everything without any problems.



The simulator seems to get caught in the notifications, more quickly (less taps) in the newer version.  Its accessibility seems to have problems with landscape view too.

I can get the first item tapped to show the accessibility information using the below code.  The simulator fails when trying to go to the next one (opens keyboard and gets lost in layout-change notifications), so I can’t tell if this would be the right way to address accessibility or not.  The header cell still fails.

- (BOOL) dataGridDataSourceHelper:(SDataGridDataSourceHelper *)helper populateCell:(SDataGridCell *)cell withValue:(id)value forProperty:(NSString *)propertyKey sourceObject:(id)object
  NSManagedObject* managedObject = object;
   cell.isAccessibilityElement = YES;
  cell.accessibilityLabel = [NSString stringWithFormat:@"%@", [managedObject valueForKey:cell.coordinate.column.propertyKey]];
   cell.accessibilityTraits = UIAccessibilityTraitAllowsDirectInteraction;
   cell.accessibilityHint = @"double tap field to edit";