         if (dgAccInfo.isColumnHeader)
         {
             // isColumnHeader implies columnHeaderGroup.visible is true.
-            // The below code remains in case it is ever decided to
-            // make invisible but present headerBars show up with childIDs.
-            /*
             if (dgAccInfo.dataGrid.columnHeaderGroup
-            && !dgAccInfo.dataGrid.columnHeaderGroup.visible)
-                accState |= AccConst.STATE_SYSTEM_INVISIBLE;
-            */
-            if (dgAccInfo.dataGrid.columnHeaderGroup
-            && !dgAccInfo.dataGrid.columnHeaderGroup.getHeaderRendererAt(childID-1).visible)
+            && !dgAccInfo.dataGrid.columnHeaderGroup.getHeaderRendererAt(dgAccInfo.columnIndex).visible)
                 accState |= AccConst.STATE_SYSTEM_OFFSCREEN;
             // There are some states we don't allow for these.
             return accState & ~(

        {
            var resourceManager:IResourceManager = ResourceManager.getInstance();
            rowString = resourceManager.getString("components", "rowMofN");
            rowString = rowString.replace("%1", dgAccInfo.rowIndex + 1).replace("%2", dgAccInfo.rowCount);
        }

        // Construct the name to return.
        var name:String = "";
        // TODO: Should the types of these be more specific?
        var rowObject:Object = dgAccInfo.dataGrid.dataProvider.getItemAt(dgAccInfo.rowIndex);
        var columns:IList = dgAccInfo.dataGrid.columns;
        if (dgAccInfo.isCellMode)

        isColumnHeader = false;
        rowIndex = 0;
        columnIndex = 0;
        reachableRowIndex = 0;
        reachableColumnIndex = 0;

        var itemIndex:int = childID - 1;
        if (dataGrid.columnHeaderGroup && dataGrid.columnHeaderGroup.visible)
        {
            // There are visible column headers, so their childIDs come first.
            itemIndex -= reachableColumnCount;
            headerCount = columnCount;
            reachableHeaderCount = reachableColumnCount;
        }
        else
        {
            // No header bar or it's invisible,
            // so we should not try to expose any data within it.
            headerCount = 0;
            reachableHeaderCount = 0;
        }
        var mode:String = dataGrid.selectionMode;
        isCellMode = (
