     public var columnCount:int;
     public var headerCount:int;
     public var rowCount:int;
-    // Number of columns, headers, and rows that are visible.
-    // ("Visible" means not marked invisible by programmer or user.)
-    public var visibleColumnCount:int;
-    public var visibleHeaderCount:int;
-    public var visibleRowCount:int;
-    // Indices of visible rows and columns.
+    // Number of columns, headers, and rows that are reachable.
+    // ("Reachable" means not marked invisible by the developer.)
+    public var reachableColumnCount:int;
+    public var reachableHeaderCount:int;
+    public var reachableRowCount:int;
+    // Indices of reachable rows and columns.
     // These are null when nothing is filtered, for performance reasons.
-    protected var visibleRowIndices:Vector.<int>;
-    protected var visibleColumnIndices:Vector.<int>;
+    protected var reachableRowIndices:Vector.<int>;
+    protected var reachableColumnIndices:Vector.<int>;
     // The highest valid childID.
     public var maxChildID:int;
     // True if we are in cell navigation mode (single or multiple selection).

            {
                // The selected childID is effectively the 1-based cell index.
                // This is row*colCount + columnInRow +columnHeaderCount +1.
                accSelection[i] = items[i].rowIndex * dgAccInfo.columnCount
                + items[i].columnIndex
                + dgAccInfo.headerCount + 1;
            }

        }
        else if (rowObject)  // row mode
        {
            var idx:int = -1;
            for (var c:int = 0; c < dgAccInfo.reachableColumnCount; c++)
            {
                if (c > 0)
                    name += ", ";
                idx = dgAccInfo.dataGrid.grid.getNextVisibleColumnIndex(idx);
                if (dgAccInfo.headerCount > 0)
                    name += columns.getItemAt(idx).headerText + ": ";
                name += columns.getItemAt(idx).itemToLabel(rowObject);
            }
        }  // cell or row mode
        if (rowString)
