🤖 AI Summary
Current data visualization tools predominantly adopt a unidirectional “design-for-them” paradigm, exacerbating cognitive and power asymmetries between sighted and blind/low-vision (BLV) users. To address this, we introduce MAIDR—the first unified, bidirectional collaborative framework enabling sighted and BLV users to co-create, interpret, and interact with multimodal visualizations. Implemented in Python and compatible with Matplotlib and Seaborn, MAIDR generates tactile, auditory, and conversational non-visual representations via a single `maidr.show()` call, and seamlessly integrates into Jupyter, Colab, Quarto, and Streamlit environments. It incurs minimal, stable runtime overhead—performance remains comparable to mainstream visualization libraries. This work pioneers the practical realization of the “design-with-us” principle as a reproducible, extensible, open-source tool, significantly advancing inclusivity, collaboration, and accessibility in data visualization.
📝 Abstract
Although recent efforts have developed accessible data visualization tools for blind and low-vision (BLV) users, most follow a "design for them" approach that creates an unintentional divide between sighted creators and BLV consumers. This unidirectional paradigm perpetuates a power dynamic where sighted creators produce non-visual content boundaries for BLV consumers to access. This paper proposes a bidirectional approach, "design for us," where both sighted and BLV collaborators can employ the same tool to create, interpret, and communicate data visualizations for each other. We introduce Py maidr, a Python package that seamlessly encodes multimodal (e.g., tactile, auditory, conversational) data representations into visual plots generated by Matplotlib and Seaborn. By simply importing the maidr package and invoking the maidr.show() method, users can generate accessible plots with minimal changes to their existing codebase regardless of their visual dis/abilities. Our technical case studies demonstrate how this tool is scalable and can be integrated into interactive computing (e.g., Jupyter Notebook, Google Colab), reproducible and literate programming (e.g., Quarto), and reactive dashboards (e.g., Shiny, Streamlit). Our performance benchmarks demonstrate that Py maidr introduces minimal and consistent overhead during the rendering and export of plots against Matplotlib and Seaborn baselines. This work significantly contributes to narrowing the accessibility gap in data visualization by providing a unified framework that fosters collaboration and communication between sighted and BLV individuals.