diff --git a/changelogs/DP-44225.yml b/changelogs/DP-44225.yml
new file mode 100644
index 0000000000..ce5bdf57ed
--- /dev/null
+++ b/changelogs/DP-44225.yml
@@ -0,0 +1,3 @@
+Added:
+ - description: Field to Document media entity for authors to select accessibility state designation.
+ issue: DP-44225
diff --git a/conf/drupal/config/core.entity_form_display.media.document.default.yml b/conf/drupal/config/core.entity_form_display.media.document.default.yml
index 75edfae1fd..66399be12c 100644
--- a/conf/drupal/config/core.entity_form_display.media.document.default.yml
+++ b/conf/drupal/config/core.entity_form_display.media.document.default.yml
@@ -3,6 +3,7 @@ langcode: en
status: true
dependencies:
config:
+ - field.field.media.document.field_accessibility_self_rpt
- field.field.media.document.field_category
- field.field.media.document.field_collections
- field.field.media.document.field_description
@@ -26,6 +27,7 @@ dependencies:
- entity_reference_tree
- field_group
- file
+ - mass_fields
- path
third_party_settings:
field_group:
@@ -74,6 +76,7 @@ third_party_settings:
- field_description
- field_document_listing_desc
- field_upload_file
+ - field_accessibility_self_rpt
- field_category
- field_organizations
- langcode
@@ -99,15 +102,21 @@ targetEntityType: media
bundle: document
mode: default
content:
+ field_accessibility_self_rpt:
+ type: list_long_label_document_self_reported_accessibility_status_widget
+ weight: 6
+ region: content
+ settings: { }
+ third_party_settings: { }
field_category:
type: options_select
- weight: 6
+ weight: 7
region: content
settings: { }
third_party_settings: { }
field_collections:
type: entity_reference_tree
- weight: 18
+ weight: 12
region: content
settings:
theme: default
@@ -133,7 +142,7 @@ content:
third_party_settings: { }
field_document_label:
type: entity_reference_autocomplete
- weight: 17
+ weight: 11
region: content
settings:
match_operator: CONTAINS
@@ -151,7 +160,7 @@ content:
third_party_settings: { }
field_internal_notes:
type: string_textarea
- weight: 20
+ weight: 13
region: content
settings:
rows: 1
@@ -159,7 +168,7 @@ content:
third_party_settings: { }
field_media_english_version:
type: entity_reference_autocomplete
- weight: 9
+ weight: 10
region: content
settings:
match_operator: CONTAINS
@@ -187,7 +196,7 @@ content:
selector: ''
field_organizations:
type: entity_reference_autocomplete
- weight: 7
+ weight: 8
region: content
settings:
match_operator: CONTAINS
@@ -218,7 +227,7 @@ content:
third_party_settings: { }
langcode:
type: language_select
- weight: 8
+ weight: 9
region: content
settings:
include_locked: false
@@ -249,14 +258,14 @@ content:
third_party_settings: { }
search:
type: boolean_checkbox
- weight: 6
+ weight: 7
region: content
settings:
display_label: true
third_party_settings: { }
display_label: true
simple_sitemap:
- weight: 5
+ weight: 6
region: content
settings: { }
third_party_settings: { }
diff --git a/conf/drupal/config/core.entity_view_display.media.document.default.yml b/conf/drupal/config/core.entity_view_display.media.document.default.yml
index f0e69e5234..b909d40b80 100644
--- a/conf/drupal/config/core.entity_view_display.media.document.default.yml
+++ b/conf/drupal/config/core.entity_view_display.media.document.default.yml
@@ -3,6 +3,7 @@ langcode: en
status: true
dependencies:
config:
+ - field.field.media.document.field_accessibility_self_rpt
- field.field.media.document.field_category
- field.field.media.document.field_collections
- field.field.media.document.field_description
@@ -138,6 +139,7 @@ content:
region: content
hidden:
computed_manual_description: true
+ field_accessibility_self_rpt: true
field_description: true
field_document_label: true
field_document_type: true
diff --git a/conf/drupal/config/core.entity_view_display.media.document.linked_desc.yml b/conf/drupal/config/core.entity_view_display.media.document.linked_desc.yml
index e13ce535f0..c3497800cb 100644
--- a/conf/drupal/config/core.entity_view_display.media.document.linked_desc.yml
+++ b/conf/drupal/config/core.entity_view_display.media.document.linked_desc.yml
@@ -4,6 +4,7 @@ status: true
dependencies:
config:
- core.entity_view_mode.media.linked_desc
+ - field.field.media.document.field_accessibility_self_rpt
- field.field.media.document.field_category
- field.field.media.document.field_collections
- field.field.media.document.field_description
@@ -81,6 +82,7 @@ content:
hidden:
computed_manual_description: true
created: true
+ field_accessibility_self_rpt: true
field_category: true
field_collections: true
field_contributing_agency: true
diff --git a/conf/drupal/config/core.entity_view_display.media.document.listing.yml b/conf/drupal/config/core.entity_view_display.media.document.listing.yml
index f79306b345..fddee9ffbf 100644
--- a/conf/drupal/config/core.entity_view_display.media.document.listing.yml
+++ b/conf/drupal/config/core.entity_view_display.media.document.listing.yml
@@ -4,6 +4,7 @@ status: true
dependencies:
config:
- core.entity_view_mode.media.listing
+ - field.field.media.document.field_accessibility_self_rpt
- field.field.media.document.field_category
- field.field.media.document.field_collections
- field.field.media.document.field_description
@@ -129,6 +130,7 @@ content:
hidden:
computed_manual_description: true
content_moderation_control: true
+ field_accessibility_self_rpt: true
field_category: true
field_collections: true
field_description: true
diff --git a/conf/drupal/config/core.entity_view_display.media.document.manual_desc.yml b/conf/drupal/config/core.entity_view_display.media.document.manual_desc.yml
index 9667f3cab6..500406669e 100644
--- a/conf/drupal/config/core.entity_view_display.media.document.manual_desc.yml
+++ b/conf/drupal/config/core.entity_view_display.media.document.manual_desc.yml
@@ -4,6 +4,7 @@ status: true
dependencies:
config:
- core.entity_view_mode.media.manual_desc
+ - field.field.media.document.field_accessibility_self_rpt
- field.field.media.document.field_category
- field.field.media.document.field_collections
- field.field.media.document.field_description
@@ -73,6 +74,7 @@ content:
hidden:
computed_manual_description: true
created: true
+ field_accessibility_self_rpt: true
field_category: true
field_collections: true
field_contributing_agency: true
diff --git a/conf/drupal/config/core.entity_view_display.media.document.media_download_link.yml b/conf/drupal/config/core.entity_view_display.media.document.media_download_link.yml
index a3399afcba..c7d5cbebb9 100644
--- a/conf/drupal/config/core.entity_view_display.media.document.media_download_link.yml
+++ b/conf/drupal/config/core.entity_view_display.media.document.media_download_link.yml
@@ -4,6 +4,7 @@ status: true
dependencies:
config:
- core.entity_view_mode.media.media_download_link
+ - field.field.media.document.field_accessibility_self_rpt
- field.field.media.document.field_category
- field.field.media.document.field_collections
- field.field.media.document.field_description
@@ -68,6 +69,7 @@ content:
hidden:
content_moderation_control: true
created: true
+ field_accessibility_self_rpt: true
field_category: true
field_collections: true
field_description: true
diff --git a/conf/drupal/config/field.field.media.document.field_accessibility_self_rpt.yml b/conf/drupal/config/field.field.media.document.field_accessibility_self_rpt.yml
new file mode 100644
index 0000000000..a6b68e97cc
--- /dev/null
+++ b/conf/drupal/config/field.field.media.document.field_accessibility_self_rpt.yml
@@ -0,0 +1,25 @@
+uuid: eeb03c2f-6a77-4dae-a032-cw29s4a36c68
+langcode: en
+status: true
+dependencies:
+ config:
+ - field.storage.media.field_accessibility_self_rpt
+ - media.type.document
+ module:
+ - mass_fields
+ - require_on_publish
+third_party_settings:
+ require_on_publish:
+ require_on_publish: true
+id: media.document.field_accessibility_self_rpt
+field_name: field_accessibility_self_rpt
+entity_type: media
+bundle: document
+label: 'Accessibility Status (self-reported)'
+description: 'All Mass.gov documents are required to meet digital accessibility standards. Report if this document is accessible. This will be used for reporting purposes. If you’re unsure how to create, test, or remediate a document to make it accessible, visit the accessibility training resource center. Questions? Sign-up for ACCESS Office Hours.'
+required: false
+translatable: false
+default_value: { }
+default_value_callback: ''
+settings: { }
+field_type: list_long_label
diff --git a/conf/drupal/config/field.storage.media.field_accessibility_self_rpt.yml b/conf/drupal/config/field.storage.media.field_accessibility_self_rpt.yml
new file mode 100644
index 0000000000..536e0e16f4
--- /dev/null
+++ b/conf/drupal/config/field.storage.media.field_accessibility_self_rpt.yml
@@ -0,0 +1,30 @@
+uuid: 7fbaa67a-839d-4018-ae19-fe613bf87c82
+langcode: en
+status: true
+dependencies:
+ module:
+ - mass_fields
+ - media
+id: media.field_accessibility_self_rpt
+field_name: field_accessibility_self_rpt
+entity_type: media
+type: list_long_label
+settings:
+ allowed_values:
+ -
+ value: verified_accessible
+ label: 'Verified accessible:
My organization or a third-party vendor has checked the document and it passes automated and manual accessibility checks.'
+ -
+ value: not_tested
+ label: 'Unverified or not accessible yet:
The document is not accessible or hasn’t been checked for accessibility yet. I understand that my organization needs to replace this document with an accessible version as soon as possible.'
+ -
+ value: exception
+ label: 'Exception:
I went through the Exception Request Process (Executive Department only) and this type of document has been approved as an exception as part of a set of documents. I understand that my organization must provide this document in an accessible format upon request.'
+ allowed_values_function: ''
+module: mass_fields
+locked: false
+cardinality: 1
+translatable: true
+indexes: { }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/conf/drupal/config/views.view.all_documents.yml b/conf/drupal/config/views.view.all_documents.yml
index 838a6854de..3bed3b88ba 100644
--- a/conf/drupal/config/views.view.all_documents.yml
+++ b/conf/drupal/config/views.view.all_documents.yml
@@ -3,6 +3,7 @@ langcode: en
status: true
dependencies:
config:
+ - field.storage.media.field_accessibility_self_rpt
- field.storage.media.field_collections
- field.storage.media.field_document_label
- field.storage.media.field_document_listing_desc
@@ -16,12 +17,13 @@ dependencies:
- taxonomy.vocabulary.label
- workflows.workflow.media_states
module:
+ - better_exposed_filters
- content_moderation
- csv_serialization
- - datetime
- file
- mass_views
- media
+ - options
- rest
- serialization
- taxonomy
@@ -1461,6 +1463,72 @@ display:
title: Unpublished
operator: '='
value: '0'
+ field_accessibility_self_rpt_value:
+ id: field_accessibility_self_rpt_value
+ table: media__field_accessibility_self_rpt
+ field: field_accessibility_self_rpt_value
+ relationship: none
+ group_type: group
+ admin_label: ''
+ plugin_id: string
+ operator: '='
+ value: ''
+ group: 1
+ exposed: true
+ expose:
+ operator_id: field_accessibility_self_rpt_value_op
+ label: 'Accessibility Status (self-reported)'
+ description: ''
+ use_operator: false
+ operator: field_accessibility_self_rpt_value_op
+ operator_limit_selection: false
+ operator_list: { }
+ identifier: field_accessibility_self_rpt_value
+ required: false
+ remember: false
+ multiple: false
+ remember_roles:
+ authenticated: authenticated
+ anonymous: '0'
+ author: '0'
+ editor: '0'
+ emergency_alert_publisher: '0'
+ executive_orders: '0'
+ redirect_creators: '0'
+ content_team: '0'
+ developer: '0'
+ administrator: '0'
+ tester: '0'
+ doc_deletion: '0'
+ d2d_redirect_manager: '0'
+ data_administrator: '0'
+ collection_administrator: '0'
+ prototype_design_access: '0'
+ mmg_editor: '0'
+ viewer: '0'
+ bulk_edit: '0'
+ placeholder: ''
+ autocomplete_filter: 1
+ autocomplete_min_chars: '0'
+ autocomplete_items: '10'
+ autocomplete_field: ''
+ autocomplete_raw_suggestion: 1
+ autocomplete_raw_dropdown: 1
+ autocomplete_dependent: 0
+ autocomplete_contextual: 0
+ autocomplete_autosubmit: 0
+ is_grouped: false
+ group_info:
+ label: ''
+ description: ''
+ identifier: ''
+ optional: true
+ widget: select
+ multiple: false
+ remember: false
+ default_group: All
+ default_group_multiple: { }
+ group_items: { }
filter_groups:
operator: AND
groups:
@@ -4517,6 +4585,68 @@ display:
multi_type: separator
separator: ', '
field_api_classes: false
+ field_accessibility_self_rpt:
+ id: field_accessibility_self_rpt
+ table: media__field_accessibility_self_rpt
+ field: field_accessibility_self_rpt
+ relationship: none
+ group_type: group
+ admin_label: ''
+ plugin_id: field
+ label: 'Accessibility Status (self-reported)'
+ exclude: false
+ alter:
+ alter_text: true
+ text: '{{ field_accessibility_self_rpt__value }}'
+ make_link: false
+ path: ''
+ absolute: false
+ external: false
+ replace_spaces: false
+ path_case: none
+ trim_whitespace: false
+ alt: ''
+ rel: ''
+ link_class: ''
+ prefix: ''
+ suffix: ''
+ target: ''
+ nl2br: false
+ max_length: 0
+ word_boundary: true
+ ellipsis: true
+ more_link: false
+ more_link_text: ''
+ more_link_path: ''
+ strip_tags: false
+ trim: false
+ preserve_tags: ''
+ html: false
+ element_type: ''
+ element_class: ''
+ element_label_type: ''
+ element_label_class: ''
+ element_label_colon: true
+ element_wrapper_type: ''
+ element_wrapper_class: ''
+ element_default_classes: true
+ empty: ''
+ hide_empty: false
+ empty_zero: false
+ hide_alter_empty: true
+ click_sort_column: value
+ type: list_default
+ settings: { }
+ group_column: value
+ group_columns: { }
+ group_rows: true
+ delta_limit: 0
+ delta_offset: 0
+ delta_reversed: false
+ delta_first_last: false
+ multi_type: separator
+ separator: ', '
+ field_api_classes: false
style:
type: data_export
options:
@@ -4570,6 +4700,7 @@ display:
- url
- user.permissions
tags:
+ - 'config:field.storage.media.field_accessibility_self_rpt'
- 'config:field.storage.media.field_collections'
- 'config:field.storage.media.field_document_label'
- 'config:field.storage.media.field_document_listing_desc'
@@ -5194,17 +5325,137 @@ display:
hide_alter_empty: true
destination: false
exposed_form:
- type: input_required_on_request
+ type: bef
options:
submit_button: Filter
- reset_button: 1
+ reset_button: true
reset_button_label: Reset
exposed_sorts_label: 'Sort by'
- expose_sort_order: 1
+ expose_sort_order: true
sort_asc_label: Asc
sort_desc_label: Desc
text_input_required: 'Select any filter and click on Apply to see results'
text_input_required_format: basic_html
+ bef:
+ general:
+ autosubmit: false
+ autosubmit_exclude_textfield: false
+ autosubmit_textfield_delay: 500
+ autosubmit_hide: false
+ input_required: true
+ allow_secondary: false
+ secondary_label: 'Advanced options'
+ secondary_open: false
+ reset_button_always_show: false
+ pager:
+ plugin_id: default
+ advanced:
+ is_secondary: false
+ filter:
+ field_title_value:
+ plugin_id: default
+ advanced:
+ placeholder_text: ''
+ collapsible: false
+ collapsible_disable_automatic_open: false
+ is_secondary: false
+ filename:
+ plugin_id: default
+ advanced:
+ placeholder_text: ''
+ collapsible: false
+ collapsible_disable_automatic_open: false
+ is_secondary: false
+ mid:
+ plugin_id: default
+ advanced:
+ placeholder_text: ''
+ collapsible: false
+ collapsible_disable_automatic_open: false
+ is_secondary: false
+ status:
+ plugin_id: default
+ advanced:
+ sort_options: false
+ rewrite:
+ filter_rewrite_values: ''
+ filter_rewrite_values_key: false
+ collapsible: false
+ collapsible_disable_automatic_open: false
+ is_secondary: false
+ uid:
+ plugin_id: default
+ advanced:
+ placeholder_text: ''
+ rewrite:
+ filter_rewrite_values: ''
+ filter_rewrite_values_key: false
+ collapsible: false
+ collapsible_disable_automatic_open: false
+ is_secondary: false
+ media_org_filter:
+ plugin_id: default
+ advanced:
+ placeholder_text: ''
+ rewrite:
+ filter_rewrite_values: ''
+ filter_rewrite_values_key: false
+ collapsible: false
+ collapsible_disable_automatic_open: false
+ is_secondary: false
+ langcode:
+ plugin_id: default
+ advanced:
+ sort_options: false
+ rewrite:
+ filter_rewrite_values: ''
+ filter_rewrite_values_key: false
+ collapsible: false
+ collapsible_disable_automatic_open: false
+ is_secondary: false
+ field_document_label_target_id:
+ plugin_id: default
+ advanced:
+ placeholder_text: ''
+ rewrite:
+ filter_rewrite_values: ''
+ filter_rewrite_values_key: false
+ collapsible: false
+ collapsible_disable_automatic_open: false
+ is_secondary: false
+ changed:
+ plugin_id: default
+ advanced:
+ collapsible: false
+ collapsible_disable_automatic_open: false
+ is_secondary: false
+ field_collections_target_id:
+ plugin_id: default
+ advanced:
+ placeholder_text: ''
+ rewrite:
+ filter_rewrite_values: ''
+ filter_rewrite_values_key: false
+ collapsible: false
+ collapsible_disable_automatic_open: false
+ is_secondary: false
+ search:
+ plugin_id: default
+ advanced:
+ sort_options: false
+ rewrite:
+ filter_rewrite_values: ''
+ filter_rewrite_values_key: false
+ collapsible: false
+ collapsible_disable_automatic_open: false
+ is_secondary: false
+ field_accessibility_self_rpt_value:
+ plugin_id: default
+ advanced:
+ placeholder_text: ''
+ collapsible: false
+ collapsible_disable_automatic_open: false
+ is_secondary: false
filters:
bundle:
id: bundle
@@ -5908,6 +6159,89 @@ display:
default_group: All
default_group_multiple: { }
group_items: { }
+ field_accessibility_self_rpt_value:
+ id: field_accessibility_self_rpt_value
+ table: media__field_accessibility_self_rpt
+ field: field_accessibility_self_rpt_value
+ relationship: none
+ group_type: group
+ admin_label: ''
+ plugin_id: string
+ operator: '='
+ value: ''
+ group: 1
+ exposed: true
+ expose:
+ operator_id: field_accessibility_self_rpt_value_op
+ label: 'Accessibility Status (self-reported)'
+ description: ''
+ use_operator: false
+ operator: field_accessibility_self_rpt_value_op
+ operator_limit_selection: false
+ operator_list: { }
+ identifier: field_accessibility_self_rpt_value
+ required: false
+ remember: false
+ multiple: true
+ remember_roles:
+ authenticated: authenticated
+ anonymous: '0'
+ author: '0'
+ editor: '0'
+ emergency_alert_publisher: '0'
+ executive_orders: '0'
+ redirect_creators: '0'
+ content_team: '0'
+ developer: '0'
+ administrator: '0'
+ tester: '0'
+ doc_deletion: '0'
+ d2d_redirect_manager: '0'
+ data_administrator: '0'
+ collection_administrator: '0'
+ prototype_design_access: '0'
+ mmg_editor: '0'
+ viewer: '0'
+ bulk_edit: '0'
+ placeholder: ''
+ autocomplete_filter: 0
+ autocomplete_min_chars: '0'
+ autocomplete_items: '10'
+ autocomplete_field: ''
+ autocomplete_raw_suggestion: 1
+ autocomplete_raw_dropdown: 1
+ autocomplete_dependent: 0
+ autocomplete_contextual: 0
+ autocomplete_autosubmit: 0
+ is_grouped: true
+ group_info:
+ label: 'Accessibility Status (self-reported)'
+ description: ''
+ identifier: field_accessibility_self_rpt_value
+ optional: true
+ widget: select
+ multiple: false
+ remember: false
+ default_group: All
+ default_group_multiple:
+ 1: 1
+ group_items:
+ 1:
+ title: 'Verified accessible'
+ operator: '='
+ value: verified_accessible
+ 2:
+ title: 'Unverified or not accessible yet'
+ operator: '='
+ value: not_tested
+ 3:
+ title: Exception
+ operator: '='
+ value: exception
+ 4:
+ title: blank
+ operator: empty
+ value: ''
filter_groups:
operator: AND
groups:
diff --git a/conf/drupal/config/views.view.all_documents_latest_rev.yml b/conf/drupal/config/views.view.all_documents_latest_rev.yml
index 8c18d630e8..868df89b58 100644
--- a/conf/drupal/config/views.view.all_documents_latest_rev.yml
+++ b/conf/drupal/config/views.view.all_documents_latest_rev.yml
@@ -3,6 +3,7 @@ langcode: en
status: true
dependencies:
config:
+ - field.storage.media.field_accessibility_self_rpt
- field.storage.media.field_category
- field.storage.media.field_collections
- field.storage.media.field_description
@@ -21,6 +22,7 @@ dependencies:
- taxonomy.vocabulary.label
- taxonomy.vocabulary.language
module:
+ - better_exposed_filters
- content_moderation
- csv_serialization
- file
@@ -28,6 +30,7 @@ dependencies:
- media
- media_entity_download
- node
+ - options
- rest
- serialization
- taxonomy
@@ -921,7 +924,7 @@ display:
offset: false
offset_label: Offset
exposed_form:
- type: basic
+ type: bef
options:
submit_button: Apply
reset_button: false
@@ -930,6 +933,169 @@ display:
expose_sort_order: true
sort_asc_label: Asc
sort_desc_label: Desc
+ text_input_required: 'Select any filter and click on Apply to see results'
+ text_input_required_format: basic_html
+ bef:
+ general:
+ autosubmit: false
+ autosubmit_exclude_textfield: false
+ autosubmit_textfield_delay: 500
+ autosubmit_hide: false
+ input_required: true
+ allow_secondary: false
+ secondary_label: 'Advanced options'
+ secondary_open: false
+ reset_button_always_show: false
+ filter:
+ field_title_value:
+ plugin_id: default
+ advanced:
+ collapsible: false
+ collapsible_disable_automatic_open: false
+ is_secondary: false
+ mid:
+ plugin_id: default
+ advanced:
+ placeholder_text: ''
+ collapsible: false
+ collapsible_disable_automatic_open: false
+ is_secondary: false
+ status:
+ plugin_id: default
+ advanced:
+ sort_options: false
+ rewrite:
+ filter_rewrite_values: ''
+ filter_rewrite_values_key: false
+ collapsible: false
+ collapsible_disable_automatic_open: false
+ is_secondary: false
+ moderation_state:
+ plugin_id: default
+ advanced:
+ rewrite:
+ filter_rewrite_values: ''
+ filter_rewrite_values_key: false
+ collapsible: false
+ collapsible_disable_automatic_open: false
+ is_secondary: false
+ name:
+ plugin_id: default
+ advanced:
+ collapsible: false
+ collapsible_disable_automatic_open: false
+ is_secondary: false
+ node_org_filter:
+ plugin_id: default
+ advanced:
+ placeholder_text: ''
+ rewrite:
+ filter_rewrite_values: ''
+ filter_rewrite_values_key: false
+ collapsible: false
+ collapsible_disable_automatic_open: false
+ is_secondary: false
+ node_parent_org_top_filter:
+ plugin_id: default
+ advanced:
+ placeholder_text: ''
+ rewrite:
+ filter_rewrite_values: ''
+ filter_rewrite_values_key: false
+ collapsible: false
+ collapsible_disable_automatic_open: false
+ is_secondary: false
+ uid:
+ plugin_id: default
+ advanced:
+ rewrite:
+ filter_rewrite_values: ''
+ filter_rewrite_values_key: false
+ collapsible: false
+ collapsible_disable_automatic_open: false
+ is_secondary: false
+ changed:
+ plugin_id: default
+ advanced:
+ collapsible: false
+ collapsible_disable_automatic_open: false
+ is_secondary: false
+ search:
+ plugin_id: default
+ advanced:
+ sort_options: false
+ rewrite:
+ filter_rewrite_values: ''
+ filter_rewrite_values_key: false
+ collapsible: false
+ collapsible_disable_automatic_open: false
+ is_secondary: false
+ uid_1:
+ plugin_id: default
+ advanced:
+ rewrite:
+ filter_rewrite_values: ''
+ filter_rewrite_values_key: false
+ collapsible: false
+ collapsible_disable_automatic_open: false
+ is_secondary: false
+ field_document_label_target_id:
+ plugin_id: default
+ advanced:
+ placeholder_text: ''
+ rewrite:
+ filter_rewrite_values: ''
+ filter_rewrite_values_key: false
+ collapsible: false
+ collapsible_disable_automatic_open: false
+ is_secondary: false
+ field_collections_target_id:
+ plugin_id: default
+ advanced:
+ rewrite:
+ filter_rewrite_values: ''
+ filter_rewrite_values_key: false
+ collapsible: false
+ collapsible_disable_automatic_open: false
+ is_secondary: false
+ filesize:
+ plugin_id: default
+ advanced:
+ collapsible: false
+ collapsible_disable_automatic_open: false
+ is_secondary: false
+ field_language_target_id_1:
+ plugin_id: default
+ advanced:
+ rewrite:
+ filter_rewrite_values: ''
+ filter_rewrite_values_key: false
+ collapsible: false
+ collapsible_disable_automatic_open: false
+ is_secondary: false
+ field_category_target_id:
+ plugin_id: default
+ advanced:
+ placeholder_text: ''
+ rewrite:
+ filter_rewrite_values: ''
+ filter_rewrite_values_key: false
+ collapsible: false
+ collapsible_disable_automatic_open: false
+ is_secondary: false
+ filemime:
+ plugin_id: default
+ advanced:
+ collapsible: false
+ collapsible_disable_automatic_open: false
+ is_secondary: false
+ field_accessibility_self_rpt_value:
+ plugin_id: default
+ advanced:
+ placeholder_text: ''
+ collapsible: false
+ collapsible_disable_automatic_open: false
+ is_secondary: false
access:
type: perm
options:
@@ -2122,6 +2288,88 @@ display:
default_group: All
default_group_multiple: { }
group_items: { }
+ field_accessibility_self_rpt_value:
+ id: field_accessibility_self_rpt_value
+ table: media__field_accessibility_self_rpt
+ field: field_accessibility_self_rpt_value
+ relationship: mid
+ group_type: group
+ admin_label: ''
+ plugin_id: string
+ operator: '='
+ value: ''
+ group: 1
+ exposed: true
+ expose:
+ operator_id: field_accessibility_self_rpt_value_op
+ label: 'Accessibility Status (self-reported)'
+ description: ''
+ use_operator: false
+ operator: field_accessibility_self_rpt_value_op
+ operator_limit_selection: false
+ operator_list: { }
+ identifier: field_accessibility_self_rpt_value
+ required: false
+ remember: false
+ multiple: false
+ remember_roles:
+ authenticated: authenticated
+ anonymous: '0'
+ author: '0'
+ editor: '0'
+ emergency_alert_publisher: '0'
+ executive_orders: '0'
+ redirect_creators: '0'
+ content_team: '0'
+ developer: '0'
+ administrator: '0'
+ tester: '0'
+ doc_deletion: '0'
+ d2d_redirect_manager: '0'
+ data_administrator: '0'
+ collection_administrator: '0'
+ prototype_design_access: '0'
+ mmg_editor: '0'
+ viewer: '0'
+ bulk_edit: '0'
+ placeholder: ''
+ autocomplete_filter: 0
+ autocomplete_min_chars: '0'
+ autocomplete_items: '10'
+ autocomplete_field: ''
+ autocomplete_raw_suggestion: 1
+ autocomplete_raw_dropdown: 1
+ autocomplete_dependent: 0
+ autocomplete_contextual: 0
+ autocomplete_autosubmit: 0
+ is_grouped: true
+ group_info:
+ label: 'Accessibility Status (self-reported)'
+ description: ''
+ identifier: field_accessibility_self_rpt_value
+ optional: true
+ widget: select
+ multiple: false
+ remember: false
+ default_group: All
+ default_group_multiple: { }
+ group_items:
+ 1:
+ title: 'Verified accessible'
+ operator: '='
+ value: verified_accessible
+ 2:
+ title: 'Unverified or not accessible yet'
+ operator: '='
+ value: not_tested
+ 3:
+ title: Exception
+ operator: '='
+ value: exception
+ 4:
+ title: blank
+ operator: empty
+ value: ''
filter_groups:
operator: AND
groups:
@@ -4227,6 +4475,68 @@ display:
multi_type: separator
separator: ', '
field_api_classes: false
+ field_accessibility_self_rpt:
+ id: field_accessibility_self_rpt
+ table: media__field_accessibility_self_rpt
+ field: field_accessibility_self_rpt
+ relationship: mid
+ group_type: group
+ admin_label: ''
+ plugin_id: field
+ label: 'Accessibility Status (self-reported)'
+ exclude: false
+ alter:
+ alter_text: true
+ text: '{{ field_accessibility_self_rpt__value }}'
+ make_link: false
+ path: ''
+ absolute: false
+ external: false
+ replace_spaces: false
+ path_case: none
+ trim_whitespace: false
+ alt: ''
+ rel: ''
+ link_class: ''
+ prefix: ''
+ suffix: ''
+ target: ''
+ nl2br: false
+ max_length: 0
+ word_boundary: true
+ ellipsis: true
+ more_link: false
+ more_link_text: ''
+ more_link_path: ''
+ strip_tags: false
+ trim: false
+ preserve_tags: ''
+ html: false
+ element_type: ''
+ element_class: ''
+ element_label_type: ''
+ element_label_class: ''
+ element_label_colon: true
+ element_wrapper_type: ''
+ element_wrapper_class: ''
+ element_default_classes: true
+ empty: ''
+ hide_empty: false
+ empty_zero: false
+ hide_alter_empty: true
+ click_sort_column: value
+ type: list_default
+ settings: { }
+ group_column: value
+ group_columns: { }
+ group_rows: true
+ delta_limit: 0
+ delta_offset: 0
+ delta_reversed: false
+ delta_first_last: false
+ multi_type: separator
+ separator: ', '
+ field_api_classes: false
style:
type: data_export
options:
@@ -4268,6 +4578,7 @@ display:
- url
- user.permissions
tags:
+ - 'config:field.storage.media.field_accessibility_self_rpt'
- 'config:field.storage.media.field_category'
- 'config:field.storage.media.field_collections'
- 'config:field.storage.media.field_description'
diff --git a/docroot/modules/custom/mass_fields/js/accessibility-status-reset.js b/docroot/modules/custom/mass_fields/js/accessibility-status-reset.js
new file mode 100644
index 0000000000..9825cd52a3
--- /dev/null
+++ b/docroot/modules/custom/mass_fields/js/accessibility-status-reset.js
@@ -0,0 +1,74 @@
+/**
+ * @file
+ * Reset the accessibility status field when a document file is removed or replaced.
+ */
+
+(function ($, Drupal, once) {
+ 'use strict';
+
+ /**
+ * Hides the TBD (_none) option and resets to it on file change.
+ *
+ * The _none (TBD) radio is kept in the DOM but hidden. When a file is
+ * uploaded or removed, JS selects the hidden _none radio — effectively
+ * resetting the field to the empty state. An aria-live region announces
+ * the reset to screen reader users. The require_on_publish constraint
+ * blocks publishing until the author picks a real option.
+ */
+ Drupal.behaviors.accessibilityStatusReset = {
+ attach: function (context, settings) {
+ const fidsSelector = 'input[data-drupal-selector="edit-field-upload-file-0-fids"]';
+ const noneSelector = 'input[name="field_accessibility_self_rpt"][value="_none"], input[name="media[document][field_accessibility_self_rpt]"][value="_none"]';
+ const liveRegionId = 'accessibility-status-reset-announcement';
+
+ // Inject an aria-live region once (for screen reader announcements).
+ once('accessibility-status-live-region', 'body').forEach(function (body) {
+ $(body).append(
+ '