Skip to content

Conversation

Copy link

Copilot AI commented Sep 10, 2025

This PR selectively syncs the forschung.stadtgeschichtebasel.ch fork with upstream CollectionBuilder-CSV, applying critical accessibility improvements and bug fixes while preserving all Stadt.Geschichte.Basel custom features.

Background

The fork had diverged significantly from upstream (622 commits behind, 275 files differing) due to extensive customizations including multi-language support, EDTF timeline functionality, geodata visualization, and Stadt.Geschichte.Basel-specific branding. A full merge would have created hundreds of conflicts and risked breaking custom functionality.

Changes Applied

1. Fixed Blank Cloud Items Bug

Problem: Tag clouds could display empty items when metadata fields contained null values.
Solution: Added | compact filter in _includes/js/cloud-js.html to remove empty values before processing.

// Before
{% assign new = items | map: c | join: ';' %}

// After  
{% assign new = items | map: c | compact | join: ';' %}

2. Improved Accessibility with Correct ARIA Controls

Problem: Download buttons had incorrect aria-controls attributes pointing to generic "collapseExample" instead of actual target IDs.
Solution: Updated aria-controls to match the actual collapse target IDs for better screen reader navigation.

// Before
aria-controls="collapseExample"

// After
aria-controls="collapseTranscript"
aria-controls="collapseTranscript{{ child.objectid }}"

3. Enhanced TimelineJS Accessibility

Problem: TimelineJS timeline data lacked alt text for images, reducing accessibility.
Solution: Added alt text fields to assets/data/timelinejs.json using metadata or fallback values.

{
  "media": {
    "url": "...",
    "alt": {{ item.image_alt_text | default: item.description | default: item.title | jsonify }},
    "caption": "..."
  }
}

Custom Features Preserved

All Stadt.Geschichte.Basel customizations remain intact:

  • Multi-language support (German/Spanish translations)
  • EDTF timeline with custom sort plugin
  • Interactive geodata maps with Swiss coordinate system support
  • Custom layout and navigation structure
  • Trigger warning functionality
  • Report button for metadata issues
  • GitHub Actions CI/CD workflows
  • Prettier code formatting standards

Strategy & Risk Mitigation

  • Selective cherry-picking instead of bulk merge to avoid conflicts
  • Minimal changes focused on high-value, low-risk improvements
  • Preserved compatibility with existing Stadt.Geschichte.Basel infrastructure
  • Documented upstream commits for future reference and maintenance

This approach enables the project to benefit from upstream improvements while maintaining the significant investment in custom development that makes this platform unique for historical research data presentation.


💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.

@changeset-bot
Copy link

changeset-bot bot commented Sep 10, 2025

⚠️ No Changeset found

Latest commit: cf19bf4

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Copilot AI added 3 commits September 10, 2025 17:09
Add | compact filter to remove empty values from cloud terms,
preventing blank items from appearing in tag clouds.

Upstream commit: 71011c3
…stream cde779d)

Update aria-controls to match the actual target IDs instead of generic 'collapseExample'.
This improves screen reader navigation and accessibility compliance.

Upstream commit: cde779d
…abe6e7)

Improve accessibility by adding alt text fields to TimelineJS JSON data.
Uses image_alt_text field or falls back to description/title for alt text.

Upstream commit: 7abe6e7
Copilot AI changed the title [WIP] Try to sync our fork with upstream @CollectionBuilder/collectionbuilder-csv while keeping our improvements and new features Sync fork with upstream CollectionBuilder-CSV: Apply key accessibility and bug fixes while preserving custom features Sep 10, 2025
Copilot AI requested a review from maehr September 10, 2025 17:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants