Thanks for the code,
Could you test your FlyGrid by the simple code and examine returned AccessibleObject:
AccessibleObject ao = flyGrid1.AccessibleObject;
if (ao != null)
{
string aoName = typeof(ao).ToString();//to determine what exactly accessible object type is returned;
AccessibleRole aoRole = ao.Role;
AccessibleStates aoStates = ao.State; //to determine the current state of returned object
Debug.WriteLine(string.Format("Returned AO: {0}, AO.Role: {1}, AO.State: {2}", aoName, aoRole, aoStates));
}
Probably you need to override the FlyGrid.CreateAccessibilityInstance method to return your own accessibility object that represent current node in checkbox role.