Account created on 31 January 2008, almost 17 years ago
#

Recent comments

🇺🇸United States emptyvoid

Ok created a patch which fixes the client-side error and properly defines the meta data structure of the variant.

Though I've noticed to fix existing accordions I have to manually rebuild each either in a page or block and save it for the rendering to work as expected.

🇺🇸United States emptyvoid

As of version 2.1 now I get the following errors in the JavaScript console

accordion.min.js?v=1.x:2 Uncaught Error: Accordion constructor argument domNode has direct descendant elements that do not match with H2-H6 [data-aria-accordion-heading] or DIV [data-aria-accordion-panel] as required.
    at new o (accordion.min.js?v=1.x:2:7767)
    at accordion.min.js?v=1.x:2:10828
    at NodeList.forEach (<anonymous>)
    at accordion.min.js?v=1.x:2:10805

It would appear that the rendering of the input is somehow being overriden and the attributes are being stripped from the rendered accordion. The accordion still renders and the user can interact via keyboard and mouse.

But this error is posted to the console on page load.

Anyone familar with this and or how the new code highjacks the input rendering?

🇺🇸United States emptyvoid

As of version 2.1 now I get the following errors in the JavaScript console

accordion.min.js?v=1.x:2 Uncaught Error: Accordion constructor argument domNode has direct descendant elements that do not match with H2-H6 [data-aria-accordion-heading] or DIV [data-aria-accordion-panel] as required.
    at new o (accordion.min.js?v=1.x:2:7767)
    at accordion.min.js?v=1.x:2:10828
    at NodeList.forEach (<anonymous>)
    at accordion.min.js?v=1.x:2:10805

It would appear that the rendering of the input is somehow being overriden and the attributes are being stripped from the rendered accordion. The accordion still renders and the user can interact via keyboard and mouse.

But this error is posted to the console on page load.

Anyone familar with this and or how the new code highjacks the input rendering?

🇺🇸United States emptyvoid

@alexpot

On my local dev the config setting is:

NULL

On Acquia Cloud it returns:

bool(true)

🇺🇸United States emptyvoid

This may be anecdotal, but I've noticed that only sites running on Acquia Cloud appears affected for me.
I'd have to do a full source code compare to determine how a vanilla source tree and one built on Acquia Cloud differ.
But source trees built and running on other platforms like Pantheon or a vanilla AWS stack seem fine.

A full source tree search on vanilla 10.3.8 shows:

/drupal-root/docroot/core/.deprecation-ignore.txt
# In Drupal 10, skip deprecations for the "yaml_parser_class" setting.      [position 52:44]
%The "yaml_parser_class" setting is deprecated in drupal:10.3.0. This setting should be removed from the settings file, since its usage has been removed. See https://www.drupal.org/node/3415489.%      [position 54:7]	

/drupal-root/docroot/core/assets/scaffold/files/default.settings.php	
# $settings['yaml_parser_class'] = NULL;      [position 736:14]	

/drupal-root/docroot/core/lib/Drupal/Core/Serialization/Yaml.php
    if ($class = Settings::get('yaml_parser_class')) {      [position 16:33]	

/drupal-root/docroot/core/lib/Drupal/Core/Site/Settings.php
    'yaml_parser_class' => [      [position 45:6]	
      'message' => 'The "yaml_parser_class" setting is deprecated in drupal:10.3.0. This setting should be removed from the settings file, since its usage has been removed. See https://www.drupal.org/node/3415489.',      [position 47:26]	

/drupal-root/docroot/sites/default/default.settings.php
# $settings['yaml_parser_class'] = NULL;      [position 736:14]	

🇺🇸United States emptyvoid

Opps sorry, the previous patch caught all of the core patches I maintain..
Rerolled with just the yaml snippet patch.

🇺🇸United States emptyvoid

Here is the settings prior to the update:

settings.php


/**
 * Load services definition file.
 */
$settings['container_yamls'][] = $app_root . '/' . $site_path . '/services.yml';

/**
 * Override the default service container class.
 *
 * This is useful for example to trace the service container for performance
 * tracking purposes, for testing a service container with an error condition or
 * to test a service container that throws an exception.
 */
# $settings['container_base_class'] = '\Drupal\Core\DependencyInjection\Container';

/**
 * Override the default yaml parser class.
 *
 * Provide a fully qualified class name here if you would like to provide an
 * alternate implementation YAML parser. The class must implement the
 * \Drupal\Component\Serialization\SerializationInterface interface.
 */
# $settings['yaml_parser_class'] = NULL;

and local settings for my dev instance:

settings.local.php


/**
 * Enable local development services.
 */
$settings['container_yamls'][] = DRUPAL_ROOT . '/sites/development.services.yml';

If I comment out one or all the caching error appears.

🇺🇸United States emptyvoid

This properly validates if the class even exists and loads correctly.

Even with this patch, disabling the yaml settings in both settings.php and or settings.local.php borks all of the 10.3.8 sites I manage.
White screens, apache errors.. Drush failure.. the works!

drush cr

In Container.php line 159:
                                                                                                                                                               
  You have requested a non-existent service "cache.backend.null". Did you mean one of these: "cache.backend.memory", "cache.backend.apcu", "cache.backend.php  
  "?                                                                                                                                                           
                                                                                       

Keeping the settings with this patch allows normal operation.

🇺🇸United States emptyvoid

Yeah um.
Just updated the site core to 10.3.8 and BOOM.
Even commenting out the yaml settings all of my builds now white screen with errors via drush.

drush cr
PHP Fatal error:  Uncaught Error: Class name must be a valid object or a string in //drupal-root/docroot/core/lib/Drupal/Core/Serialization/Yaml.php:17
Stack trace:
#0 //drupal-root/docroot/core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php(427): Drupal\Core\Serialization\Yaml::decode()
#1 //drupal-root/docroot/core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php(75): Drupal\Core\DependencyInjection\YamlFileLoader->loadFile()
#2 //drupal-root/docroot/core/lib/Drupal/Core/DrupalKernel.php(1413): Drupal\Core\DependencyInjection\YamlFileLoader->load()
#3 //drupal-root/docroot/core/lib/Drupal/Core/DrupalKernel.php(971): Drupal\Core\DrupalKernel->compileContainer()
#4 //drupal-root/docroot/core/lib/Drupal/Core/DrupalKernel.php(515): Drupal\Core\DrupalKernel->initializeContainer()
#5 //drupal-root/docroot/core/includes/utility.inc(34): Drupal\Core\DrupalKernel->boot()
#6 //drupal-root/vendor/drush/drush/src/Commands/core/CacheRebuildCommands.php(70): drupal_rebuild()
#7 [internal function]: Drush\Commands\core\CacheRebuildCommands->rebuild()
#8 //drupal-root/vendor/consolidation/annotated-command/src/CommandProcessor.php(276): call_user_func_array()
#9 //drupal-root/vendor/consolidation/annotated-command/src/CommandProcessor.php(212): Consolidation\AnnotatedCommand\CommandProcessor->runCommandCallback()
#10 //drupal-root/vendor/consolidation/annotated-command/src/CommandProcessor.php(175): Consolidation\AnnotatedCommand\CommandProcessor->validateRunAndAlter()
#11 //drupal-root/vendor/consolidation/annotated-command/src/AnnotatedCommand.php(387): Consolidation\AnnotatedCommand\CommandProcessor->process()
#12 //drupal-root/vendor/symfony/console/Command/Command.php(326): Consolidation\AnnotatedCommand\AnnotatedCommand->execute()
#13 //drupal-root/vendor/symfony/console/Application.php(1096): Symfony\Component\Console\Command\Command->run()
#14 //drupal-root/vendor/symfony/console/Application.php(324): Symfony\Component\Console\Application->doRunCommand()
#15 //drupal-root/vendor/symfony/console/Application.php(175): Symfony\Component\Console\Application->doRun()
#16 //drupal-root/vendor/drush/drush/src/Runtime/Runtime.php(110): Symfony\Component\Console\Application->run()
#17 //drupal-root/vendor/drush/drush/src/Runtime/Runtime.php(40): Drush\Runtime\Runtime->doRun()
#18 //drupal-root/vendor/drush/drush/drush.php(139): Drush\Runtime\Runtime->run()
#19 //drupal-root/vendor/drush/drush/drush(4): require('...')
#20 {main}
  thrown in //drupal-root/docroot/core/lib/Drupal/Core/Serialization/Yaml.php on line 17
 [warning] Drush command terminated abnormally.

Fatal error: Uncaught Error: Class name must be a valid object or a string in //drupal-root/docroot/core/lib/Drupal/Core/Serialization/Yaml.php:17
Stack trace:
#0 //drupal-root/docroot/core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php(427): Drupal\Core\Serialization\Yaml::decode()
#1 //drupal-root/docroot/core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php(75): Drupal\Core\DependencyInjection\YamlFileLoader->loadFile()
#2 //drupal-root/docroot/core/lib/Drupal/Core/DrupalKernel.php(1413): Drupal\Core\DependencyInjection\YamlFileLoader->load()
#3 //drupal-root/docroot/core/lib/Drupal/Core/DrupalKernel.php(971): Drupal\Core\DrupalKernel->compileContainer()
#4 //drupal-root/docroot/core/lib/Drupal/Core/DrupalKernel.php(515): Drupal\Core\DrupalKernel->initializeContainer()
#5 //drupal-root/docroot/core/includes/utility.inc(34): Drupal\Core\DrupalKernel->boot()
#6 //drupal-root/vendor/drush/drush/src/Commands/core/CacheRebuildCommands.php(70): drupal_rebuild()
#7 [internal function]: Drush\Commands\core\CacheRebuildCommands->rebuild()
#8 //drupal-root/vendor/consolidation/annotated-command/src/CommandProcessor.php(276): call_user_func_array()
#9 //drupal-root/vendor/consolidation/annotated-command/src/CommandProcessor.php(212): Consolidation\AnnotatedCommand\CommandProcessor->runCommandCallback()
#10 //drupal-root/vendor/consolidation/annotated-command/src/CommandProcessor.php(175): Consolidation\AnnotatedCommand\CommandProcessor->validateRunAndAlter()
#11 //drupal-root/vendor/consolidation/annotated-command/src/AnnotatedCommand.php(387): Consolidation\AnnotatedCommand\CommandProcessor->process()
#12 //drupal-root/vendor/symfony/console/Command/Command.php(326): Consolidation\AnnotatedCommand\AnnotatedCommand->execute()
#13 //drupal-root/vendor/symfony/console/Application.php(1096): Symfony\Component\Console\Command\Command->run()
#14 //drupal-root/vendor/symfony/console/Application.php(324): Symfony\Component\Console\Application->doRunCommand()
#15 //drupal-root/vendor/symfony/console/Application.php(175): Symfony\Component\Console\Application->doRun()
#16 //drupal-root/vendor/drush/drush/src/Runtime/Runtime.php(110): Symfony\Component\Console\Application->run()
#17 //drupal-root/vendor/drush/drush/src/Runtime/Runtime.php(40): Drush\Runtime\Runtime->doRun()
#18 //drupal-root/vendor/drush/drush/drush.php(139): Drush\Runtime\Runtime->run()
#19 //drupal-root/vendor/drush/drush/drush(4): require('...')
#20 {main}
  thrown in //drupal-root/docroot/core/lib/Drupal/Core/Serialization/Yaml.php on line 17

How do I fix this?
I'll have to downgrade all my projects at this point to keep it stable.

🇺🇸United States emptyvoid

was this included in the Drupal 10.3.7 release because now all of my views and search API displays are borked throwing this error.

Symfony\Component\HttpKernel\Exception\BadRequestHttpException: Invalid URI: A URI must not start nor end with ASCII control characters or spaces.
🇺🇸United States emptyvoid

Loads of JavaScript libraries are affected by Drupal Core using jQuery 4.
There are even core libraries which fail because of the missing $.isFunction().

I've created a "shim" module and library to restore the function signature and use the "short cut" method.

🇺🇸United States emptyvoid

Upgrading the minified bootstrap.min.js to version 5 fixes the errors for the theme.
However, though not related directly to this theme. The jQuery 4 version depreciated .isFunction()

https://api.jquery.com/jQuery.isFunction/

Description: Determines if its argument is callable as a function.

version added: 1.2jQuery.isFunction( value )
value
Type: Anything
The value to be tested.
As of jQuery 3.3, jQuery.isFunction() has been deprecated. In most cases, its use can be replaced by typeof x === "function".

Note: As of jQuery 1.3, functions provided by the browser like alert() and DOM element methods like getAttribute() are not guaranteed to be detected as functions in browsers such as Internet Explorer.
🇺🇸United States emptyvoid

Created a patch addressing all of the items sighted.

🇺🇸United States emptyvoid

Noted when running Update Status Drupal 11 compliance pass the following issues identified from code review.

Are the committed changes to address the following?

Acquia Connector,  4.0.9
Scanned on Wed, 10/09/2024 - 14:09

FILE:
modules/contrib/acquia_connector/tests/src/Kernel/AcquiaConnectorTestBase.php

STATUS         LINE                           MESSAGE                           
--------------------------------------------------------------------------------
Ignore         127  Call to deprecated method renderPlain() of class            
                    Drupal\Core\Render\Renderer. Deprecated in drupal:10.3.0 and
                    is removed from drupal:12.0.0. Use                          
                    Drupal\Core\Render\RendererInterface::renderInIsolation()   
                    instead.                                                    
--------------------------------------------------------------------------------

FILE:
modules/contrib/acquia_connector/tests/src/Kernel/Client/ClientFactoryTest.php

STATUS         LINE                           MESSAGE                           
--------------------------------------------------------------------------------
Ignore         22   Call to deprecated method getConfig() of class              
                    GuzzleHttp\Client: Client::getConfig will be removed in     
                    guzzlehttp/guzzle:8.0.                                      
--------------------------------------------------------------------------------

FILE: modules/contrib/acquia_connector/tests/src/Kernel/HelpIntegrationTest.php

STATUS         LINE                           MESSAGE                           
--------------------------------------------------------------------------------
Ignore         42   Call to deprecated method renderPlain() of class            
                    Drupal\Core\Render\Renderer. Deprecated in drupal:10.3.0 and
                    is removed from drupal:12.0.0. Use                          
                    Drupal\Core\Render\RendererInterface::renderInIsolation()   
                    instead.                                                    
--------------------------------------------------------------------------------

🇺🇸United States emptyvoid

Upgrade Status Report

================================================================================
Views Field View,  8.x-1.0-beta5
Scanned on Mon, 09/16/2024 - 15:41

FILE:
modules/contrib/views_field_view/tests/modules/views_field_view_test_config/test
_views/views.view.views_field_view_test_parent_normal.yml

STATUS         LINE                           MESSAGE                           
--------------------------------------------------------------------------------
Check manually 281  Support from all Views contextual filter settings for the   
                    default_argument_skip_url setting is removed from           
                    drupal:11.0.0. No replacement is provided. See              
                    https://www.drupal.org/node/3382316.                        
--------------------------------------------------------------------------------

FILE: modules/contrib/views_field_view/views_field_view.info.yml

STATUS         LINE                           MESSAGE                           
--------------------------------------------------------------------------------
Check manually 4    Value of core_version_requirement: ^9 || ^10 is not         
                    compatible with the next major version of Drupal core. See  
                    https://drupal.org/node/3070687.                            
--------------------------------------------------------------------------------


🇺🇸United States emptyvoid

Created patch properly addressing all incompatible classes and functions.
Now Drupal 11 compliant.

Tested in existing build and export functions as designed on D10 and D11.

🇺🇸United States emptyvoid

The patch does not appear to address all of the issues identified in the code audit.

[notice] Processing /srv/drupal/hudoig-d10/dev/code/hudoigd10/docroot/modules/contrib/views_data_export.

================================================================================
Views Data Export,  8.x-1.4
Scanned on Mon, 09/16/2024 - 13:38

FILE: modules/contrib/views_data_export/src/Plugin/views/display/DataExport.php

STATUS         LINE                           MESSAGE                           
--------------------------------------------------------------------------------
Ignore         749  Fetching deprecated class constant EXISTS_REPLACE of        
                    interface Drupal\Core\File\FileSystemInterface. Deprecated  
                    in drupal:10.3.0 and is removed from drupal:12.0.0. Use     
                    Drupal\Core\File\FileExists::Replace instead.               
--------------------------------------------------------------------------------

FILE:
/srv/drupal/hudoig-d10/dev/code/hudoigd10/vendor/symfony/deprecation-contracts/f
unction.php

STATUS         LINE                           MESSAGE                           
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Not passing an instance of            
                    "TwigFunction" when creating a "render_var" function of type
                    "Twig\Node\Expression\FunctionExpression" is deprecated.    
--------------------------------------------------------------------------------

FILE: modules/contrib/views_data_export/views_data_export.info.yml

STATUS         LINE                           MESSAGE                           
--------------------------------------------------------------------------------
Check manually 5    Value of core_version_requirement: ^9 || ^10 is not         
                    compatible with the next major version of Drupal core. See  
                    https://drupal.org/node/3070687.                            
--------------------------------------------------------------------------------

🇺🇸United States emptyvoid
================================================================================
Views Cumulative Field,  2.0.2
Scanned on Mon, 09/16/2024 - 13:15

FILE: modules/contrib/views_cumulative_field/views_cumulative_field.info.yml

STATUS         LINE                           MESSAGE                           
--------------------------------------------------------------------------------
Check manually 5    Value of core_version_requirement: ^8 || ^9 || ^10 is not   
                    compatible with the next major version of Drupal core. See  
                    https://drupal.org/node/3070687.                            
--------------------------------------------------------------------------------

🇺🇸United States emptyvoid
================================================================================
Views Argument Token,  2.0.2
Scanned on Mon, 09/16/2024 - 12:32

FILE: modules/contrib/views_argument_token/views_argument_token.info.yml

STATUS         LINE                           MESSAGE                           
--------------------------------------------------------------------------------
Check manually 3    Value of core_version_requirement: ^8 || ^9 || ^10 is not   
                    compatible with the next major version of Drupal core. See  
                    https://drupal.org/node/3070687.                            
--------------------------------------------------------------------------------

🇺🇸United States emptyvoid

Update Status Automated Code Audit
2024-09-13

================================================================================
Views Aggregator Plus,  2.0.2
Scanned on Fri, 09/13/2024 - 13:51

FILE: modules/contrib/views_aggregator/src/Plugin/views/style/Table.php

STATUS         LINE                           MESSAGE                           
--------------------------------------------------------------------------------
Ignore         1037 Call to deprecated method renderPlain() of interface        
                    Drupal\Core\Render\RendererInterface. Deprecated in         
                    drupal:10.3.0 and is removed from drupal:12.0.0. Use        
                    Drupal\Core\Render\RendererInterface::renderInIsolation()   
                    instead.                                                    
--------------------------------------------------------------------------------
Ignore         1125 Call to deprecated method renderPlain() of interface        
                    Drupal\Core\Render\RendererInterface. Deprecated in         
                    drupal:10.3.0 and is removed from drupal:12.0.0. Use        
                    Drupal\Core\Render\RendererInterface::renderInIsolation()   
                    instead.                                                    
--------------------------------------------------------------------------------

FILE: modules/contrib/views_aggregator/views_aggregator.module

STATUS         LINE                           MESSAGE                           
--------------------------------------------------------------------------------
Ignore         171  Call to deprecated method getBaseThemes() of class          
                    Drupal\Core\Extension\ThemeHandler. Deprecated in           
                    drupal:10.3.0 and is removed from drupal:12.0.0. There is no
                    direct replacement.                                         
--------------------------------------------------------------------------------

FILE:
/srv/drupal/hudoig-d10/dev/code/hudoigd10/vendor/symfony/deprecation-contracts/f
unction.php

STATUS         LINE                           MESSAGE                           
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------
Check manually 25   Since twig/twig 3.12: Getting node "filter" on a            
                    "Twig\Node\Expression\FilterExpression" class is deprecated.
--------------------------------------------------------------------------------

FILE: modules/contrib/views_aggregator/views_aggregator.info.yml

STATUS         LINE                           MESSAGE                           
--------------------------------------------------------------------------------
Check manually 5    Value of core_version_requirement: ^9.2 || ^10 is not       
                    compatible with the next major version of Drupal core. See  
                    https://drupal.org/node/3070687.                            
--------------------------------------------------------------------------------

FILE:
modules/contrib/views_aggregator/views_aggregator_more_functions/views_aggregato
r_more_functions.info.yml

STATUS         LINE                           MESSAGE                           
--------------------------------------------------------------------------------
Check manually 5    Value of core_version_requirement: ^9.2 || ^10 is not       
                    compatible with the next major version of Drupal core. See  
                    https://drupal.org/node/3070687.                            
--------------------------------------------------------------------------------

FILE: modules/contrib/views_aggregator/composer.json

STATUS         LINE                           MESSAGE                           
--------------------------------------------------------------------------------
Check manually 1    The drupal/core requirement is not compatible with the next 
                    major version of Drupal. Either remove it or update it to be
                    compatible. See                                             
                    https://www.drupal.org/docs/develop/using-composer/add-a-com
                    poserjson-file#core-compatibility.                          
--------------------------------------------------------------------------------

First attempt at a patch.

🇺🇸United States emptyvoid

Please read the extended "README.MD" as it details additional libraries you'll have to install for it to work.



INSTALLATION:
--------
1. Download external library from https://github.com/smillart/WAI-ARIA-Patterns-And-Widgets.
2. Place the library in the root libraries folder (/libraries).
3. Install & Enable the module
4. Open Administration > Configuration > Content authoring >
   Text formats and editors (admin/config/content/formats)
5. Edit a text format's settings (usually Basic HTML)
6. Drag n Drop the Accordion -button to the toolbar to show it to the editors
7. Review available options at /admin/config/content/ckeditor-accordion

Composer installation:
--------
Add package to the repositories section:
        {
            "type": "package",
            "package": {
                "name": "smillart/wai-aria-patterns-and-widgets",
                "version": "1.0.6",
                "type": "drupal-library",
                "dist": {
                    "url": "https://github.com/smillart/WAI-ARIA-Patterns-And-Widgets/archive/refs/tags/1.0.6.zip",
                    "type": "zip"
                },
                "require": {
                    "composer/installers": "^2"
                }
            }
        }

include it in our build:
composer require 'smillart/wai-aria-patterns-and-widgets'
🇺🇸United States emptyvoid

uploaded file attempting to "fix" noted issues and creating a patch.

🇺🇸United States emptyvoid

Upgrade Status Code Audit Report:
================================================================================

================================================================================
Path Redirect Import,  2.0.9
Scanned on Fri, 09/13/2024 - 11:59

FILE:
modules/contrib/path_redirect_import/src/Drush/Commands/PathRedirectImportComman
ds.php

STATUS         LINE                           MESSAGE                           
--------------------------------------------------------------------------------
Ignore         106  Fetching deprecated class constant EXISTS_REPLACE of        
                    interface Drupal\Core\File\FileSystemInterface. Deprecated  
                    in drupal:10.3.0 and is removed from drupal:12.0.0. Use     
                    Drupal\Core\File\FileExists::Replace instead.               
--------------------------------------------------------------------------------

FILE: modules/contrib/path_redirect_import/src/Form/MigrateRedirectForm.php

STATUS         LINE                           MESSAGE                           
--------------------------------------------------------------------------------
Ignore         287  Fetching deprecated class constant EXISTS_REPLACE of        
                    interface Drupal\Core\File\FileSystemInterface. Deprecated  
                    in drupal:10.3.0 and is removed from drupal:12.0.0. Use     
                    Drupal\Core\File\FileExists::Replace instead.               
--------------------------------------------------------------------------------

FILE: modules/contrib/path_redirect_import/src/RedirectExport.php

STATUS         LINE                           MESSAGE                           
--------------------------------------------------------------------------------
Ignore         89   Fetching deprecated class constant EXISTS_REPLACE of        
                    interface Drupal\Core\File\FileSystemInterface. Deprecated  
                    in drupal:10.3.0 and is removed from drupal:12.0.0. Use     
                    Drupal\Core\File\FileExists::Replace instead.               
--------------------------------------------------------------------------------


FILE: modules/contrib/path_redirect_import/path_redirect_import.info.yml

STATUS         LINE                           MESSAGE                           
--------------------------------------------------------------------------------
Check manually 4    Value of core_version_requirement: ^9.3||^10 is not         
                    compatible with the next major version of Drupal core. See  
                    https://drupal.org/node/3070687.                            
--------------------------------------------------------------------------------

🇺🇸United States emptyvoid

Drupal 11 compliance patch with code fixes for highlighted issued defined by update_status module and code evaluation tools.

🇺🇸United States emptyvoid

Embraced and extended code design and created a issue for 2.2
https://www.drupal.org/project/ckeditor_accordion/issues/3470583 🐛 V2.2 - Accessibility ARIA/508 - D11 compliance patch Needs review

🇺🇸United States emptyvoid

Updated with code changes based on update status automated code review.

🇺🇸United States emptyvoid

Based on the code audit of 1.9 using Update Status automation. I updated the code with the new class signatures and the info file.

Not sure if this patch is useful for anyone though..
I tested it on Drupal 10.3.2

Won't be testing it further until I get a Drupal 11 build running.

🇺🇸United States emptyvoid

Auto generated patch wouldn't apply using composer.
So created a new patch which seems to work.

🇺🇸United States emptyvoid

Ok beta build of a Drupal 10 and 11 "add-on" module to run on top of the superfish module.
Adds Aria attributes and toggled states onto menu elements.

I attempted to use the totally undocumented tabbingmanager and it's useless.
have some code in place that's commented out as I can't get it to work for more refined keyboard control.

Right now it just allows a user to linearly tab through each menu item and sub-menu onto the next top menu item.
Not great for very large menus for sure. But it at least works, as vanilla won't even be tabbed into with the keyboard.

By all means, hack away and find a solution for the keyboard to provide the standards compliant interaction.

🇺🇸United States emptyvoid

On an active build where you installed the module and then uninstalled it. There by preventing you from reinstalling you can issue the following commands to free up the user entity.

drush config:delete field.field.user.user.field_access_tolken
drush config:delete field.field.user.user.field_refresh_token
drush config:delete field.storage.user.field_access_tolken
drush config:delete field.storage.user.field_refresh_tolken
drush cron
drush cr
🇺🇸United States emptyvoid

For those looking for ways to actively salvage a corrupted database config refer to this thread.

https://drupal.stackexchange.com/questions/164612/how-do-i-remove-a-conf....

I'm attempting to create a patch which explicitly deletes the fields on uninstall.

function hook_uninstall() {
  \Drupal::configFactory()->getEditable('the_setting.you.want.to.delete')->delete();
}

And attempting to clean up an active install using drush.

drupal config:delete active config_to_delete
🇺🇸United States emptyvoid

Ditto, confirmed.
Just updated staging build of project and this caused a total 500 error failure on all endpoints and displays.

Drupal: 10.2.7
Php: 8.2
Acquia Search: 3.1.11

PHP Fatal error:  Declaration of Drupal\acquia_search\Plugin\SolrConnector\SearchApiSolrAcquiaConnector::setEventDispatcher(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher $eventDispatcher): Drupal\search_api_solr\SolrConnectorInterface must be compatible with Drupal\search_api_solr\SolrConnector\SolrConnectorPluginBase::setEventDispatcher(Symfony\Component\EventDispatcher\EventDispatcherInterface $eventDispatcher): Drupal\search_api_solr\SolrConnectorInterface in /srv/drupal/hudoig-d10/dev/code/hudoigd10/docroot/modules/contrib/acquia_search/src/Plugin/SolrConnector/SearchApiSolrAcquiaConnector.php on line 136

Fatal error: Declaration of Drupal\acquia_search\Plugin\SolrConnector\SearchApiSolrAcquiaConnector::setEventDispatcher(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher $eventDispatcher): Drupal\search_api_solr\SolrConnectorInterface must be compatible with Drupal\search_api_solr\SolrConnector\SolrConnectorPluginBase::setEventDispatcher(Symfony\Component\EventDispatcher\EventDispatcherInterface $eventDispatcher): Drupal\search_api_solr\SolrConnectorInterface in /srv/drupal/hudoig-d10/dev/code/hudoigd10/docroot/modules/contrib/acquia_search/src/Plugin/SolrConnector/SearchApiSolrAcquiaConnector.php on line 136
 [warning] Drush command terminated abnormally.
🇺🇸United States emptyvoid

Found a bug where the group custom template was rendering on all grouped rows instead of explicitly only for views_accordion row format styles. This newer version correctly loads the group template only on views using the views_accordion format style.

Works great!

🇺🇸United States emptyvoid

hmm,

I rerolled the patch and had to debug the code as it just didn't seem to be written to actually work. Anyway I fixed the bugs and I have it running on my local build and it's rendering using the ARIA principles!!

Wahoo!

Now who can actually commit this as a pull request and or get it releasable?

🇺🇸United States emptyvoid

Why is the arrow icon not using a ascii character over multiple before/after styles?

.ckeditor-accordion-container > dl dt > a > .ckeditor-accordion-toggle:before {
    content: "\2039";
    display: inline-block;
    position: absolute;
    left: 18px;
    -webkit-transform: rotateZ(180deg);  /* Chrome, Opera 15+, Safari 3.1+  */
    -ms-transform: rotateZ(180deg);  /* IE 9 */
    transform: rotateZ(180deg);
}

.ckeditor-accordion-container dl dt:hover .ckeditor-accordion-toggle:before,
.ckeditor-accordion-container dl dt.active .ckeditor-accordion-toggle:before {
    left: 12px;
    -webkit-transform: rotateZ(-90deg);  /* Chrome, Opera 15+, Safari 3.1+  */
    -ms-transform: rotateZ(-90deg);  /* IE 9 */
    transform: rotateZ(-90deg);
}
🇺🇸United States emptyvoid

Drupal 10.2.7
Ckeditor 5
ckeditor_accordion 2.1.0

The patch causes a white screen of death on my build.
Especially once I enable the input filter.

composer package snippet

{
            "type": "package",
            "package": {
                "name": "smillart/wai-aria-patterns-and-widgets",
                "version": "1.0.6",
                "type": "drupal-library",
                "dist": {
                    "url": "https://github.com/digital-analytics-program/gov-wide-code/archive/refs/heads/master.zip",
                    "type": "zip"
                },
                "require": {
                    "composer/installers": "^2"
                }
            }
        }

Ideally the interface of the accordion html would enable simple keyboard control of each accordion.
https://www.w3.org/WAI/ARIA/apg/patterns/accordion/

Having built a add-on module for the views_accordion module, having the header be a actual button tag enables basic keyboard control on click behaviors for opening and closing the content panel. Also adding tabindex="0" ensures it can be targeted by keyboard and screen readers.

🇺🇸United States emptyvoid

(facepalm)
I was missing the root /

Apply this patch at the root of the facets module.

🇺🇸United States emptyvoid

Doh, attaching patch based on the scope of the facets module instead of the root of my project.

🇺🇸United States emptyvoid

Manually applied patches and rerolled the patch using Facets 2.0 to Drupal 10.2.4

🇺🇸United States emptyvoid

To elaborate on the but.

When loading the drupal 10 basic default theme.
Creating a view listing all content and add paging, turn on ajax.
Go to the page and test ajax paging..

Broken.

I attempted to test with the basic theme verses barrio.
Neither work.

I have been investigating this issue for a while and this isn't a bootstrap theme issue.
This is a Drupal 10 core issue. It has been broken since release. And there are multiple components and sub-systems which are broken. From the base ajax classes, views, media, etc.

Broad changes were enacted by certain maintainers of core without proper testing nor any attempt to fix the conflicts.
Though from the 2+ year old issue queues I'm participating on. Some folks have provided patches and fixes. But it is being applied to Drupal 11 and none of the Drupal 10 releases?

So break core systems and ajax features and punt on it for a full version release..
How does that make sense?

🇺🇸United States emptyvoid

Not that this helps with Drupal 10 or the never version.
But here is a extension I built for Drupal 8.
If I have a new version I'll release it here.

https://github.com/ExeQutDev/superfish_aria

🇺🇸United States emptyvoid

Great example for the jQuery behaviors.
have to successfully loaded it in a theme or custom module harness?

Some notes on compliance I've researched are:
Please note the navigation component provides both a desktop and mobile navigation interface and both will need to be audited, assessed, and development considerations applied to make it compliant.
https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/me...
https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/me...
https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/me...
https://www.w3.org/WAI/ARIA/apg/patterns/menubar/

Navigation Menu Example:
https://www.w3.org/WAI/ARIA/apg/patterns/menubar/examples/menubar-naviga...

I'll be evaluating version 8 and the 2 branch to determine if the JavaScript library and integration module for Superfish can support being fully compliant. Otherwise I'll have to research alternatives or (sigh) build a custom menuing module myself. :(

Currently there are none, NO MODULE for menuing which is ARIA and 508 compliant with Keyboard or screen reader usability.
Not even Drupal's Core menuing systems are compliant.

This is pretty shameful considering the whole "accessibility" portal the Drupal Org and Acquia pushes. Sadly it is more FUD and advertising over actual action. Lots of words and little to no actual modules that are compliant.
https://www.drupal.org/about/features/accessibility

I guess it's left up to individuals to get it done.
Now if it could actually be committed into official releases..

I'll post any improvements or working custom modules that other cold leverage.

🇺🇸United States emptyvoid

I humbly submit this custom module, which extends the core facet checkbox behaviors to add ARIA attributes.

🇺🇸United States emptyvoid

Re-rolled patch to be based on the root of the module.

🇺🇸United States emptyvoid

created a new patch with some missing elements for the results class..
But it looks like I can't upload patches anymore so..

🇺🇸United States emptyvoid

I'm getting the same error any attempt on drupal or via update.php in the browser fails.

drush updatedb
 -------- ------------------- ------------- --------------------------------- 
  Module   Update ID           Type          Description                      
 -------- ------------------- ------------- --------------------------------- 
  views    taxonomy_filter_u   post-update   Removes User context from views  
           ser_context                       with taxonomy filters.           
 -------- ------------------- ------------- --------------------------------- 
>  [notice] Update started: views_post_update_taxonomy_filter_user_context
>  [error]  Attempt to save a configuration entity 'resource_fc_educator_toolkit' with UUID '00047496-17b5-478f-b1bc-4dbd21dfea40' when this UUID is already used for 'resource_fc_educator_toolkitt' 
>  [error]  Update failed: views_post_update_taxonomy_filter_user_context 
 [error]  Update aborted by: views_post_update_taxonomy_filter_user_context 
 [error]  Finished performing updates. 

The thing is the signature 'resource_fc_educator_toolkitt' doesn't exist.
The original 'resource_fc_educator_toolkit' does exist. backing up and testing and manually removing the view doesn't fix the issue..
The update still fails with the same error even after running cron, cache rebuild, etc.

It's blocking the database update for Drupal 10.2.1 on my build.

🇺🇸United States emptyvoid

Helps if I upload the zip too.

🇺🇸United States emptyvoid

I humbly submit this svg icon I made for the button.
Note: I had to wrap it in a zip file to upload.. just extract and review.

🇺🇸United States emptyvoid

Confirmed.
Upgraded to PHP 8.2 and Drupal 10.1.7

Suddenly CSV could not be read throwing this error:

[error] Could not retrieve source count from migrate_ct_open_rec: The header mapper indexes should only contain positive integer or 0.

While it should display the migration definition using drush ms
It would error every time and not count records in the source file nor updates or new records.

Applied this patch and now it reads the file.

Can issue commands again:
drush mr test_migration_name
drush ms test_migration_name --update --sync

etc.

🇺🇸United States emptyvoid

While technically the listed patch is for the 2.x branch applying it to the 3.x branch suppresses the error.

https://www.drupal.org/files/issues/2023-01-26/3336646-2.patch

🇺🇸United States emptyvoid

Awesome work!

I'm gonna review your work as it's really unclear where to define GUI elements in the Drupal API verses the CkEditor 5 API.
I burned about a month attempting to help the management team for this module with some success.

https://www.drupal.org/project/ckeditor_bootstrap_grid

We'll see if your work can provide some light at the end of the tunnel.

🇺🇸United States emptyvoid

Sure thing, here is a copy of the fast_404 settings file.
I am not even close to feeling sure I've configured it correctly.

<?php

// @codingStandardsIgnoreFile

/**
 * @file
 * Fast 404 settings.
 *
 * Fast 404 will do three separate types of 404 checking.
 *
 * The first is to check for URLs which appear to be files or images. If Drupal
 * is handling these items, then they were not found in the file system and are
 * a 404.
 *
 * The second is to check whether or not the URL exists in Drupal by checking
 * with the menu router, aliases and redirects. If the page does not exist, we
 * will serve a Fast 404 error and exit.
 *
 * The third is to listen to the KernelRequest event. If Drupal returns a
 * NotFoundHttpException exception, Fast 404 can intervene and serve a Fast 404
 * error and exit.
 */

/**
 * Disallowed extensions. Any extension set here will not be served by Drupal
 * and will get a Fast 404. This will not affect actual files on the filesystem
 * as requests hit them before defaulting to a Drupal request.
 *
 * Default extension list, this is considered safe and matches the list provided
 * by Drupal 8's $config['system.performance']['fast_404']['paths'].
 *
 * Default value for this setting is shown below.
 */
 $settings['fast404_exts'] = '/^(?!\/robots)^(?!\/system\/files).*\.(txt|png|gif|jpe?g|css|js|ico|swf|flv|cgi|bat|pl|dll|exe|asp)$/i';

/**
 * Allow anonymous users to hit URLs containing 'styles' even if the file
 * does not exist. TRUE is default behavior. If you know all image style
 * variations are already made set this to FALSE.
 *
 * Default value for this setting is TRUE.
 */
# $settings['fast404_allow_anon_imagecache'] = FALSE;

/**
 * BE CAREFUL with this setting as some modules use their own php files and you
 * need to be certain they do not bootstrap Drupal. If they do, you will need to
 * whitelist them too.
 *
 * Default value for this setting is FALSE.
 */
# $settings['fast404_url_whitelisting'] = TRUE;

/**
 * Array of allowed files/urls. Used if URL whitelisting is set to TRUE.
 *
 * Default value for this setting is an empty array.
 */
# $settings['fast404_whitelist'] = ['index.php', 'rss.xml', 'install.php', 'cron.php', 'update.php', 'xmlrpc.php'];

/**
 * Array of allowed URL fragment strings that conflict with Fast 404.
 *
 * Default value for this setting is FALSE.
 */
# $settings['fast404_string_whitelisting'] = ['/admin', '/cdn/ff', '/advagg_'];

/**
 * When Fast 404 checks for missing file assets, it will return a response
 * containing the message set in the fast404_html settings. You can override
 * this behavior with this setting and return the HTML from the file set in the
 * fast404_HTML_error_page setting.
 *
 * Default value for this setting is FALSE.
 */
# $settings['fast404_HTML_error_all_paths'] = TRUE;

/**
 * Subscribe to NotFoundHttpException event.
 *
 * The Fast 404 Event subscriber can listen to the NotFoundHttpException event
 * to completely replace the Drupal 404 page.
 *
 * By default, Fast 404 only listens to KernelRequest event. If a user hits a
 * valid path, but another module intervenes and returns a NotFoundHttpException
 * exception, e.g. m4032404 module, the native Drupal 404 page is returned
 * instead of the Fast 404 page.
 *
 * Default value for this setting is FALSE.
 */
 $settings['fast404_not_found_exception'] = TRUE;

/**
 * Path checking. USE AT YOUR OWN RISK.
 *
 * Path checking at this phase is more dangerous, but faster. Normally
 * Fast 404 will check paths during Drupal bootstrap via an early Event.
 * While this setting finds 404s faster, it adds a bit more load time to
 * regular pages, so only use if you are spending too much CPU/Memory/DB on
 * 404s and the trade-off is worth it.
 *
 * This setting will deliver 404s with less than 2MB of RAM.
 *
 * Default value for this setting is FALSE.
 */
# $settings['fast404_path_check'] = TRUE;

/**
 * If you would prefer a stronger version of NO then return a 410 instead of a
 * 404. This informs clients that not only is the resource currently not
 * present but that it is not coming back and kindly do not ask again for it.
 * Reference: http://en.wikipedia.org/wiki/List_of_HTTP_status_codes
 *
 * Default value for this setting is FALSE.
 */
 $settings['fast404_return_gone'] = TRUE;

/**
 * If you use FastCGI, uncomment this line to send the type of header it needs.
 * Reference: http://php.net/manual/en/function.header.php
 *
 * Default value for this setting is 'mod_php'.
 */
# $settings['fast404_HTTP_status_method'] = 'FastCGI';

/**
 * Default Fast 404 error message.
 *
 * Default value for this setting is shown below. The '@path' token will be
 * replaced by the the path being requested relative to the executed script.
 */
 $settings['fast404_html'] = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>404 Not Found</title></head><body><h1>Not Found</h1><p>The requested URL "@path" was not found on this server.</p></body></html>';

/**
 * By default we will show a super plain 404, because usually errors like this
 * are shown to browsers who only look at the headers. However, some cases
 * (usually when checking paths for Drupal pages) you may want to show a
 * regular 404 error. In this case you can specify a URL to another page and it
 * will be read and displayed (it can't be redirected to because we have to
 * give a 30x header to do that. This page needs to be in your docroot.
 *
 * Default value for this setting is FALSE.
 */
# $settings['fast404_HTML_error_page'] = './my_page.html';

/**
 * Default value for this setting is FALSE. This setting needs to be enabled,
 * so that fast 404 respects the redirect module.
 */
 $settings['fast404_respect_redirect'] = TRUE;

/**
 * Load the fast404.inc file.
 *
 * This is needed if you wish to do extension checking in settings.php.
 *
 * WARNING: This is not fully implemented and not ready to use.
 * @see: https://www.drupal.org/project/fast_404/issues/2961512
 *
 */
# if (file_exists($app_root . '/modules/contrib/fast_404/fast404.inc')) {
#   include_once $app_root . '/modules/contrib/fast_404/fast404.inc';
#   fast404_preboot($settings);
# }

Production build 0.71.5 2024