Accessible File Manager
This module provides an accessible file manager for Drupal, allowing administrators to browse and manage files directly. It integrates with Drupal's file entities, offers security features for private files, and automates file naming. It also includes disk quota tracking and file system health checks.
Accessible File Manager (accessible_file_manager)
An accessibility-first file management, security, upload, and analytics toolkit for Drupal.
The Accessible File Manager module connects Drupal-managed File entities with files stored in the public:// and private:// file systems. It provides an accessible File Explorer, enhanced file inventory, usage analytics, configurable access rules, automated naming, guarded cleanup workflows, and accessible file and image upload widgets.
Version 1.1.0 adds a Drupal 10 Toolbar and Drupal 11 Navigation-compatible administration dashboard, semantic multiple-file lists, keyboard-accessible file ordering, predictable AJAX focus management, screen-reader announcements, and image descriptions of up to 2048 characters.
Key Features
📁 Accessible File Explorer (WAI-ARIA Compliant)
- Direct Directory Navigation: Browse the configured physical
public://andprivate://file systems from Drupal’s administration interface. - Managed and Unmanaged File Inspection: Inspect physical files and directories whether or not they are registered as Drupal File entities.
- Keyboard and Screen Reader Support: Implements the WAI-ARIA Grid pattern (
grid→rowgroup→row→gridcell) with Arrow keys, Home/End, Enter, Backspace, and Shift+F10 support. - Live Status Announcements: Uses throttled
aria-live="polite"regions to announce directory state, row details, upload progress, and completed operations without overwhelming screen-reader users. - Keyboard-Accessible Context Menu: Provides contextual actions such as Download, Copy Link, File Properties, and ZIP Download through an accessible
role="menu"interface. - Protected File Operations: Resolves requested paths inside their configured stream-wrapper roots and prevents operations from escaping those boundaries.
⬆️ Accessible File and Image Upload Widgets
- Native Drupal Integration: Retains Drupal Core’s managed-file validation, upload processing, and no-JavaScript fallback.
- Accessible Upload Progress: Announces upload percentage, transferred and total size, smoothed transfer speed, cancellation, failure, and completion.
- Semantic Multiple-File Lists: Replaces Core’s layout-oriented multiple-file table with a clear semantic list containing the filename, MIME type, file size, related fields, and removal action.
- Accessible File Ordering: Provides keyboard-operable “Move up” and “Move down” controls while preserving Drupal’s submitted field-item order.
- Predictable AJAX Focus: Moves focus to the newly uploaded file, a remaining file, or the file picker after upload and removal operations.
- Filename-Specific Labels: Associates image descriptions, link text, ordering controls, and removal actions with the relevant filename.
- Extended Image Descriptions: Presents image alternative text as a textarea and supports descriptions of up to 2048 characters in both current and revision field storage.
📊 Entity and Views File Inventory
- Runtime Views Integration: Enhances Drupal’s existing
filesView at runtime without permanently replacing its exported configuration. - Entity and Field Usage Inspection: Uses expandable
<details>sections to show parent entity relationships, current and revision references, and field information. - File Type and Download Information: Adds file type, registered usage, effective permissions, and download