diff --git a/core/includes/install.core.inc b/core/includes/install.core.inc
index 0e26e43..1caf24f 100644
--- a/core/includes/install.core.inc
+++ b/core/includes/install.core.inc
@@ -31,6 +31,7 @@
 use Drupal\Core\Extension\ExtensionDiscovery;
 use Drupal\Core\DependencyInjection\ContainerBuilder;
 use Drupal\Core\Url;
+use Drupal\Core\Requirements;
 use Drupal\language\Entity\ConfigurableLanguage;
 use Symfony\Cmf\Component\Routing\RouteObjectInterface;
 use Symfony\Component\DependencyInjection\Reference;
@@ -1979,7 +1980,7 @@ function install_check_translations($langcode, $server_pattern) {
     $requirements['translations directory exists'] = [
       'title'       => t('Translations directory'),
       'value'       => t('The translations directory does not exist.'),
-      'severity'    => REQUIREMENT_ERROR,
+      'severity'    => Requirements::SEVERITY_ERROR,
       'description' => t('The installer requires that you create a translations directory as part of the installation process. Create the directory %translations_directory . More details about installing Drupal are available in <a href=":install_txt">INSTALL.txt</a>.', ['%translations_directory' => $translations_directory, ':install_txt' => base_path() . 'core/INSTALL.txt']),
     ];
   }
@@ -1993,7 +1994,7 @@ function install_check_translations($langcode, $server_pattern) {
       $requirements['translations directory readable'] = [
         'title'       => t('Translations directory'),
         'value'       => t('The translations directory is not readable.'),
-        'severity'    => REQUIREMENT_ERROR,
+        'severity'    => Requirements::SEVERITY_ERROR,
         'description' => t('The installer requires read permissions to %translations_directory at all times. The <a href=":handbook_url">webhosting issues</a> documentation section offers help on this and other topics.', ['%translations_directory' => $translations_directory, ':handbook_url' => 'https://www.drupal.org/server-permissions']),
       ];
     }
@@ -2002,7 +2003,7 @@ function install_check_translations($langcode, $server_pattern) {
       $requirements['translations directory writable'] = [
         'title'       => t('Translations directory'),
         'value'       => t('The translations directory is not writable.'),
-        'severity'    => REQUIREMENT_ERROR,
+        'severity'    => Requirements::SEVERITY_ERROR,
         'description' => t('The installer requires write permissions to %translations_directory during the installation process. The <a href=":handbook_url">webhosting issues</a> documentation section offers help on this and other topics.', ['%translations_directory' => $translations_directory, ':handbook_url' => 'https://www.drupal.org/server-permissions']),
       ];
     }
@@ -2019,7 +2020,7 @@ function install_check_translations($langcode, $server_pattern) {
     $requirements['online'] = [
       'title'       => t('Internet'),
       'value'       => t('The translation server is offline.'),
-      'severity'    => REQUIREMENT_ERROR,
+      'severity'    => Requirements::SEVERITY_ERROR,
       'description' => t('The installer requires to contact the translation server to download a translation file. Check your internet connection and verify that your website can reach the translation server at <a href=":server_url">@server_url</a>.', [':server_url' => $server_url, '@server_url' => $server_url]),
     ];
   }
@@ -2034,7 +2035,7 @@ function install_check_translations($langcode, $server_pattern) {
       $requirements['translation available'] = [
         'title'       => t('Translation'),
         'value'       => t('The %language translation is not available.', ['%language' => $language]),
-        'severity'    => REQUIREMENT_ERROR,
+        'severity'    => Requirements::SEVERITY_ERROR,
         'description' => t('The %language translation file is not available at the translation server. <a href=":url">Choose a different language</a> or select English and translate your website later.', ['%language' => $language, ':url' => $_SERVER['SCRIPT_NAME']]),
       ];
     }
@@ -2053,7 +2054,7 @@ function install_check_translations($langcode, $server_pattern) {
       $requirements['translation downloaded'] = [
         'title'       => t('Translation'),
         'value'       => t('The %language translation could not be downloaded.', ['%language' => $language]),
-        'severity'    => REQUIREMENT_ERROR,
+        'severity'    => Requirements::SEVERITY_ERROR,
         'description' => t('The %language translation file could not be downloaded. <a href=":url">Choose a different language</a> or select English and translate your website later.', ['%language' => $language, ':url' => $_SERVER['SCRIPT_NAME']]),
       ];
     }
@@ -2110,7 +2111,7 @@ function install_check_requirements($install_state) {
       $requirements["default $file file exists"] = [
         'title' => $default_file_info['title_default'],
         'value' => $default_file_info['description_default'],
-        'severity' => REQUIREMENT_ERROR,
+        'severity'    => Requirements::SEVERITY_ERROR,
         'description' => t('The @drupal installer requires that the %default-file file must not be deleted or modified from the original download.', [
             '@drupal' => drupal_install_profile_distribution_name(),
             '%default-file' => $default_file,
@@ -2169,7 +2170,7 @@ function install_check_requirements($install_state) {
       $requirements["$file file exists"] = [
         'title' => $default_file_info['title'],
         'value' => t('The %file does not exist.', ['%file' => $default_file_info['title']]),
-        'severity' => REQUIREMENT_ERROR,
+        'severity'    => Requirements::SEVERITY_ERROR,
         'description' => t('The @drupal installer requires that you create a %file as part of the installation process. Copy the %default_file file to %file. More details about installing Drupal are available in <a href=":install_txt">INSTALL.txt</a>.', [
             '@drupal' => drupal_install_profile_distribution_name(),
             '%file' => $file,
@@ -2188,7 +2189,7 @@ function install_check_requirements($install_state) {
         $requirements["$file file readable"] = [
           'title' => $default_file_info['title'],
           'value' => t('The %file is not readable.', ['%file' => $default_file_info['title']]),
-          'severity' => REQUIREMENT_ERROR,
+          'severity'    => Requirements::SEVERITY_ERROR,
           'description' => t('@drupal requires read permissions to %file at all times. The <a href=":handbook_url">webhosting issues</a> documentation section offers help on this and other topics.', [
               '@drupal' => drupal_install_profile_distribution_name(),
               '%file' => $file,
@@ -2201,7 +2202,7 @@ function install_check_requirements($install_state) {
         $requirements["$file file writeable"] = [
           'title' => $default_file_info['title'],
           'value' => t('The %file is not writable.', ['%file' => $default_file_info['title']]),
-          'severity' => REQUIREMENT_ERROR,
+          'severity'    => Requirements::SEVERITY_ERROR,
           'description' => t('The @drupal installer requires write permissions to %file during the installation process. The <a href=":handbook_url">webhosting issues</a> documentation section offers help on this and other topics.', [
               '@drupal' => drupal_install_profile_distribution_name(),
               '%file' => $file,
@@ -2219,7 +2220,7 @@ function install_check_requirements($install_state) {
         $requirements["$file file ownership"] = [
           'title' => $default_file_info['title'],
           'value' => t('The @file is owned by the web server.', ['@file' => $default_file_info['title']]),
-          'severity' => REQUIREMENT_ERROR,
+          'severity'    => Requirements::SEVERITY_ERROR,
           'description' => t('The @drupal installer failed to create a %file file with proper file ownership. Log on to your web server, remove the existing %file file, and create a new one by copying the %default_file file to %file. More details about installing Drupal are available in <a href=":install_txt">INSTALL.txt</a>. The <a href=":handbook_url">webhosting issues</a> documentation section offers help on this and other topics.', [
               '@drupal' => drupal_install_profile_distribution_name(),
               '%file' => $file,
@@ -2245,7 +2246,7 @@ function install_check_requirements($install_state) {
         $requirements['database_install_errors'] = [
           'title' => t('Database settings'),
           'description' => $error_message,
-          'severity' => REQUIREMENT_ERROR,
+          'severity'    => Requirements::SEVERITY_ERROR,
         ];
       }
     }
@@ -2278,13 +2279,13 @@ function install_display_requirements($install_state, $requirements) {
   // If there are errors, always display them. If there are only warnings, skip
   // them if the user has provided a URL parameter acknowledging the warnings
   // and indicating a desire to continue anyway. See drupal_requirements_url().
-  if ($severity == REQUIREMENT_ERROR || ($severity == REQUIREMENT_WARNING && empty($install_state['parameters']['continue']))) {
+  if ($severity == Requirements::SEVERITY_ERROR || ($severity == Requirements::SEVERITY_WARNING && empty($install_state['parameters']['continue']))) {
     if ($install_state['interactive']) {
       $build['report']['#type'] = 'status_report';
       $build['report']['#requirements'] = $requirements;
-      if ($severity == REQUIREMENT_WARNING) {
+      if ($severity == Requirements::SEVERITY_WARNING) {
         $build['#title'] = t('Requirements review');
-        $build['#suffix'] = t('Check the messages and <a href=":retry">retry</a>, or you may choose to <a href=":cont">continue anyway</a>.', [':retry' => drupal_requirements_url(REQUIREMENT_ERROR), ':cont' => drupal_requirements_url($severity)]);
+        $build['#suffix'] = t('Check the messages and <a href=":retry">retry</a>, or you may choose to <a href=":cont">continue anyway</a>.', [':retry' => drupal_requirements_url(Requirements::SEVERITY_ERROR), ':cont' => drupal_requirements_url($severity)]);
       }
       else {
         $build['#title'] = t('Requirements problem');
@@ -2299,7 +2300,7 @@ function install_display_requirements($install_state, $requirements) {
         // Skip warnings altogether for non-interactive installations; these
         // proceed in a single request so there is no good opportunity (and no
         // good method) to warn the user anyway.
-        if (isset($requirement['severity']) && $requirement['severity'] == REQUIREMENT_ERROR) {
+        if (isset($requirement['severity']) && $requirement['severity'] == Requirements::SEVERITY_ERROR) {
           $failures[] = $requirement['title'] . ': ' . $requirement['value'] . "\n\n" . $requirement['description'];
         }
       }
diff --git a/core/includes/install.inc b/core/includes/install.inc
index 95897c3..1270a7d 100644
--- a/core/includes/install.inc
+++ b/core/includes/install.inc
@@ -11,28 +11,52 @@
 use Drupal\Core\Extension\Dependency;
 use Drupal\Core\Extension\ExtensionDiscovery;
 use Drupal\Core\Installer\InstallerKernel;
+use Drupal\Core\Requirements;
 use Drupal\Core\Site\Settings;
 use Symfony\Component\HttpFoundation\RedirectResponse;
 
 /**
  * Requirement severity -- Informational message only.
+ *
+ * @deprecated in drupal:8.8.0 and is removed from drupal:9.0.0.
+ *   Use \Drupal\Core\Requirements::SEVERITY_INFO instead.
+ *
+ * @see https://www.drupal.org/node/3047376
  */
-const REQUIREMENT_INFO = -1;
+const REQUIREMENT_INFO = Requirements::SEVERITY_INFO;
 
 /**
  * Requirement severity -- Requirement successfully met.
+ *
+ *
+ * @deprecated in drupal:8.8.0 and is removed from drupal:9.0.0.
+ *   Use \Drupal\Core\Requirements::SEVERITY_OK instead.
+ *
+ * @see https://www.drupal.org/node/3047376
  */
-const REQUIREMENT_OK = 0;
+const REQUIREMENT_OK = Requirements::SEVERITY_OK;
 
 /**
  * Requirement severity -- Warning condition; proceed but flag warning.
+ *
+ *
+ * @deprecated in drupal:8.8.0 and is removed from drupal:9.0.0.
+ *   Use \Drupal\Core\Requirements::SEVERITY_WARNING instead.
+ *
+ * @see https://www.drupal.org/node/3047376
  */
-const REQUIREMENT_WARNING = 1;
+const REQUIREMENT_WARNING = Requirements::SEVERITY_WARNING;
 
 /**
  * Requirement severity -- Error condition; abort installation.
+ *
+ *
+ * @deprecated in drupal:8.8.0 and is removed from drupal:9.0.0.
+ *   Use \Drupal\Core\Requirements::SEVERITY_ERROR instead.
+ *
+ * @see https://www.drupal.org/node/3047376
  */
-const REQUIREMENT_ERROR = 2;
+const REQUIREMENT_ERROR = Requirements::SEVERITY_ERROR;
 
 /**
  * File permission check -- File exists.
diff --git a/core/includes/update.inc b/core/includes/update.inc
index 40e87ed..da289dc 100644
--- a/core/includes/update.inc
+++ b/core/includes/update.inc
@@ -9,6 +9,7 @@
  */
 
 use Drupal\Component\Graph\Graph;
+use Drupal\Core\Requirements;
 use Drupal\Core\Extension\Exception\UnknownExtensionException;
 use Drupal\Core\Utility\Error;
 
@@ -62,7 +63,7 @@ function update_system_schema_requirements() {
   else {
     $requirements['minimum schema'] += [
       'value' => 'The installed schema version does not meet the minimum.',
-      'severity' => REQUIREMENT_ERROR,
+      'severity' => Requirements::SEVERITY_ERROR,
       'description' => 'Your system schema version is ' . $system_schema . '. Updating directly from a schema version prior to 8000 is not supported. You must upgrade your site to Drupal 8 first, see https://www.drupal.org/docs/8/upgrade.',
     ];
   }
diff --git a/core/lib/Drupal/Core/Extension/module.api.php b/core/lib/Drupal/Core/Extension/module.api.php
index e2ffe13..1842538 100644
--- a/core/lib/Drupal/Core/Extension/module.api.php
+++ b/core/lib/Drupal/Core/Extension/module.api.php
@@ -7,6 +7,7 @@
 
 use Drupal\Core\Database\Database;
 use Drupal\Core\Link;
+use Drupal\Core\Requirements;
 use Drupal\Core\Url;
 use Drupal\Core\Utility\UpdateException;
 
@@ -931,8 +932,8 @@ function hook_updater_info_alter(&$updaters) {
  * Drupal itself (by install.php) with an installation profile or later by hand.
  * As a consequence, install-time requirements must be checked without access
  * to the full Drupal API, because it is not available during install.php.
- * If a requirement has a severity of REQUIREMENT_ERROR, install.php will abort
- * or at least the module will not install.
+ * If a requirement has a severity of \Drupal\Core\Requirements::SEVERITY_ERROR,
+ * install.php will abort or at least the module will not install.
  * Other severity levels have no effect on the installation.
  * Module dependencies do not belong to these installation requirements,
  * but should be defined in the module's .info.yml file.
@@ -945,8 +946,9 @@ function hook_updater_info_alter(&$updaters) {
  * tasks and security issues.
  * The returned 'requirements' will be listed on the status report in the
  * administration section, with indication of the severity level.
- * Moreover, any requirement with a severity of REQUIREMENT_ERROR severity will
- * result in a notice on the administration configuration page.
+ * Moreover, any requirement with a severity of
+ * \Drupal\Core\Requirements::SEVERITY_ERROR severity will result in a notice on
+ * the administration configuration page.
  *
  * @param $phase
  *   The phase in which requirements are checked:
@@ -965,10 +967,12 @@ function hook_updater_info_alter(&$updaters) {
  *     it if not applicable.
  *   - description: The description of the requirement/status.
  *   - severity: The requirement's result/severity level, one of:
- *     - REQUIREMENT_INFO: For info only.
- *     - REQUIREMENT_OK: The requirement is satisfied.
- *     - REQUIREMENT_WARNING: The requirement failed with a warning.
- *     - REQUIREMENT_ERROR: The requirement failed with an error.
+ *     - \Drupal\Core\Requirements::SEVERITY_INFO: For info only.
+ *     - \Drupal\Core\Requirements::SEVERITY_OK: The requirement is satisfied.
+ *     - \Drupal\Core\Requirements::SEVERITY_WARNING: The requirement failed
+ *       with a warning.
+ *     - \Drupal\Core\Requirements::SEVERITY_ERROR: The requirement failed with
+ *       an error.
  */
 function hook_requirements($phase) {
   $requirements = [];
@@ -978,7 +982,7 @@ function hook_requirements($phase) {
     $requirements['drupal'] = [
       'title' => t('Drupal'),
       'value' => \Drupal::VERSION,
-      'severity' => REQUIREMENT_INFO,
+      'severity' => Requirements::SEVERITY_INFO,
     ];
   }
 
@@ -989,7 +993,7 @@ function hook_requirements($phase) {
   ];
   if (version_compare(phpversion(), DRUPAL_MINIMUM_PHP) < 0) {
     $requirements['php']['description'] = t('Your PHP installation is too old. Drupal requires at least PHP %version.', ['%version' => DRUPAL_MINIMUM_PHP]);
-    $requirements['php']['severity'] = REQUIREMENT_ERROR;
+    $requirements['php']['severity'] = Requirements::SEVERITY_ERROR;
   }
 
   // Report cron status
@@ -1002,7 +1006,7 @@ function hook_requirements($phase) {
     else {
       $requirements['cron'] = [
         'description' => t('Cron has not run. It appears cron jobs have not been setup on your system. Check the help pages for <a href=":url">configuring cron jobs</a>.', [':url' => 'https://www.drupal.org/cron']),
-        'severity' => REQUIREMENT_ERROR,
+        'severity' => Requirements::SEVERITY_ERROR,
         'value' => t('Never run'),
       ];
     }
diff --git a/core/lib/Drupal/Core/Render/Element/StatusReport.php b/core/lib/Drupal/Core/Render/Element/StatusReport.php
index 85b12e2..be3c8b4 100644
--- a/core/lib/Drupal/Core/Render/Element/StatusReport.php
+++ b/core/lib/Drupal/Core/Render/Element/StatusReport.php
@@ -2,6 +2,8 @@
 
 namespace Drupal\Core\Render\Element;
 
+use Drupal\Core\Requirements;
+
 /**
  * Creates status report page element.
  *
@@ -35,13 +37,13 @@ public static function preRenderGroupRequirements($element) {
     $severities = static::getSeverities();
     $grouped_requirements = [];
     foreach ($element['#requirements'] as $key => $requirement) {
-      $severity = $severities[REQUIREMENT_INFO];
+      $severity = $severities[Requirements::SEVERITY_INFO];
       if (isset($requirement['severity'])) {
-        $requirement_severity = (int) $requirement['severity'] === REQUIREMENT_OK ? REQUIREMENT_INFO : (int) $requirement['severity'];
+        $requirement_severity = (int) $requirement['severity'] === Requirements::SEVERITY_OK ? Requirements::SEVERITY_INFO : (int) $requirement['severity'];
         $severity = $severities[$requirement_severity];
       }
       elseif (defined('MAINTENANCE_MODE') && MAINTENANCE_MODE == 'install') {
-        $severity = $severities[REQUIREMENT_OK];
+        $severity = $severities[Requirements::SEVERITY_OK];
       }
 
       $grouped_requirements[$severity['status']]['title'] = $severity['title'];
@@ -67,19 +69,19 @@ public static function preRenderGroupRequirements($element) {
    */
   public static function getSeverities() {
     return [
-      REQUIREMENT_INFO => [
+      Requirements::SEVERITY_INFO => [
         'title' => t('Checked', [], ['context' => 'Examined']),
         'status' => 'checked',
       ],
-      REQUIREMENT_OK => [
+      Requirements::SEVERITY_OK => [
         'title' => t('OK'),
         'status' => 'ok',
       ],
-      REQUIREMENT_WARNING => [
+      Requirements::SEVERITY_WARNING => [
         'title' => t('Warnings found'),
         'status' => 'warning',
       ],
-      REQUIREMENT_ERROR => [
+      Requirements::SEVERITY_ERROR => [
         'title' => t('Errors found'),
         'status' => 'error',
       ],
diff --git a/core/lib/Drupal/Core/Requirements.php b/core/lib/Drupal/Core/Requirements.php
new file mode 100644
index 0000000..7fca625
--- /dev/null
+++ b/core/lib/Drupal/Core/Requirements.php
@@ -0,0 +1,30 @@
+<?php
+
+namespace Drupal\Core;
+
+/**
+ * Defines requirements-related constants for use with Drupal.
+ */
+final class Requirements {
+
+  /**
+   * Severity level: Informational message only.
+   */
+  const SEVERITY_INFO = -1;
+
+  /**
+   * Severity level: Requirement successfully met.
+   */
+  const SEVERITY_OK = 0;
+
+  /**
+   * Severity level: Warning condition; proceed but flag warning.
+   */
+  const SEVERITY_WARNING = 1;
+
+  /**
+   * Severity level: Error condition; abort installation.
+   */
+  const SEVERITY_ERROR = 2;
+
+}
diff --git a/core/modules/aggregator/aggregator.install b/core/modules/aggregator/aggregator.install
index ee23b29..14b5a6a 100644
--- a/core/modules/aggregator/aggregator.install
+++ b/core/modules/aggregator/aggregator.install
@@ -5,6 +5,8 @@
  * Install, update and uninstall functions for the aggregator module.
  */
 
+use Drupal\Core\Requirements;
+
 /**
  * Implements hook_requirements().
  */
@@ -16,7 +18,7 @@ function aggregator_requirements($phase) {
     'value' => $has_curl ? t('Enabled') : t('Not found'),
   ];
   if (!$has_curl) {
-    $requirements['curl']['severity'] = REQUIREMENT_ERROR;
+    $requirements['curl']['severity'] = Requirements::SEVERITY_ERROR;
     $requirements['curl']['description'] = t('The Aggregator module requires the <a href="https://secure.php.net/manual/en/curl.setup.php">PHP cURL library</a>. For more information, see the <a href="https://www.drupal.org/requirements/php/curl">online information on installing the PHP cURL extension</a>.');
   }
   return $requirements;
diff --git a/core/modules/color/color.install b/core/modules/color/color.install
index 3cc098c..e3f0fa3 100644
--- a/core/modules/color/color.install
+++ b/core/modules/color/color.install
@@ -5,6 +5,8 @@
  * Install, update and uninstall functions for the color module.
  */
 
+use Drupal\Core\Requirements;
+
 /**
  * Implements hook_requirements().
  */
@@ -21,14 +23,14 @@ function color_requirements($phase) {
 
       // Check for PNG support.
       if (!function_exists('imagecreatefrompng')) {
-        $requirements['color_gd']['severity'] = REQUIREMENT_WARNING;
+        $requirements['color_gd']['severity'] = Requirements::SEVERITY_WARNING;
         $requirements['color_gd']['description'] = t('The GD library for PHP is enabled, but was compiled without PNG support. Check the <a href="http://php.net/manual/ref.image.php">PHP image documentation</a> for information on how to correct this.');
       }
     }
     else {
       $requirements['color_gd'] = [
         'value' => t('Not installed'),
-        'severity' => REQUIREMENT_ERROR,
+        'severity' => Requirements::SEVERITY_ERROR,
         'description' => t('The GD library for PHP is missing or outdated. Check the <a href="http://php.net/manual/book.image.php">PHP image documentation</a> for information on how to correct this.'),
       ];
     }
diff --git a/core/modules/entity_reference/entity_reference.install b/core/modules/entity_reference/entity_reference.install
index db8eba8..c153505 100644
--- a/core/modules/entity_reference/entity_reference.install
+++ b/core/modules/entity_reference/entity_reference.install
@@ -5,6 +5,8 @@
  * Entity Reference install functions.
  */
 
+use Drupal\Core\Requirements;
+
 /**
  * Implements hook_requirements().
  */
@@ -17,7 +19,7 @@ function entity_reference_requirements($phase) {
       'title' => t('Entity Reference: Deprecated'),
       'description' => t('Entity Reference is deprecated, all functionality has been moved to Core.'),
       'value' => \Drupal::VERSION,
-      'severity' => REQUIREMENT_ERROR,
+      'severity' => Requirements::SEVERITY_ERROR,
     ];
   }
 
diff --git a/core/modules/image/image.install b/core/modules/image/image.install
index 725bab8..d133717 100644
--- a/core/modules/image/image.install
+++ b/core/modules/image/image.install
@@ -7,6 +7,7 @@
 
 use Drupal\Core\File\Exception\FileException;
 use Drupal\Core\File\FileSystemInterface;
+use Drupal\Core\Requirements;
 
 /**
  * Implements hook_install().
@@ -64,7 +65,7 @@ function image_requirements($phase) {
         'title' => t('Image toolkit'),
         'value' => t('None'),
         'description' => t("No image toolkit is configured on the site. Check PHP installed extensions or add a contributed toolkit that doesn't require a PHP extension. Make sure that at least one valid image toolkit is enabled."),
-        'severity' => REQUIREMENT_ERROR,
+        'severity' => Requirements::SEVERITY_ERROR,
       ],
     ];
   }
diff --git a/core/modules/jsonapi/jsonapi.install b/core/modules/jsonapi/jsonapi.install
index 36bc4f0..27377a4 100644
--- a/core/modules/jsonapi/jsonapi.install
+++ b/core/modules/jsonapi/jsonapi.install
@@ -5,6 +5,7 @@
  * Module install file.
  */
 
+use Drupal\Core\Requirements;
 use Drupal\Core\Url;
 
 /**
@@ -46,7 +47,7 @@ function jsonapi_requirements($phase) {
       $requirements['jsonapi_multilingual_support'] = [
         'title' => t('JSON:API multilingual support'),
         'value' => t('Limited'),
-        'severity' => REQUIREMENT_INFO,
+        'severity' => Requirements::SEVERITY_INFO,
         'description' => t('Some multilingual features currently do not work well with JSON:API. See the <a href=":jsonapi-docs">JSON:API multilingual support documentation</a> for more information on the current status of multilingual support.', [
           ':jsonapi-docs' => 'https://www.drupal.org/docs/8/modules/jsonapi/translations',
         ]),
@@ -55,7 +56,7 @@ function jsonapi_requirements($phase) {
     $requirements['jsonapi_revision_support'] = [
       'title' => t('JSON:API revision support'),
       'value' => t('Limited'),
-      'severity' => REQUIREMENT_INFO,
+      'severity' => Requirements::SEVERITY_INFO,
       'description' => t('Revision support is currently read-only and only for the "Content" and "Media" entity types in JSON:API. See the <a href=":jsonapi-docs">JSON:API revision support documentation</a> for more information on the current status of revision support.', [
         ':jsonapi-docs' => 'https://www.drupal.org/docs/8/modules/jsonapi/revisions',
       ]),
@@ -63,7 +64,7 @@ function jsonapi_requirements($phase) {
     $requirements['jsonapi_read_only_mode'] = [
       'title' => t('JSON:API allowed operations'),
       'value' => t('Read-only'),
-      'severity' => REQUIREMENT_INFO,
+      'severity' => Requirements::SEVERITY_INFO,
     ];
     if (!\Drupal::configFactory()->get('jsonapi.settings')->get('read_only')) {
       $requirements['jsonapi_read_only_mode']['value'] = t('All (create, read, update, delete)');
diff --git a/core/modules/layout_discovery/layout_discovery.install b/core/modules/layout_discovery/layout_discovery.install
index e6c99e0..ca45ec6 100644
--- a/core/modules/layout_discovery/layout_discovery.install
+++ b/core/modules/layout_discovery/layout_discovery.install
@@ -5,6 +5,8 @@
  * Install, update, and uninstall functions for the Layout Discovery module.
  */
 
+use Drupal\Core\Requirements;
+
 /**
  * Implements hook_requirements().
  */
@@ -14,7 +16,7 @@ function layout_discovery_requirements($phase) {
     if (\Drupal::moduleHandler()->moduleExists('layout_plugin')) {
       $requirements['layout_discovery'] = [
         'description' => t('Layout Discovery cannot be installed because the Layout Plugin module is installed and incompatible.'),
-        'severity' => REQUIREMENT_ERROR,
+        'severity' => Requirements::SEVERITY_ERROR,
       ];
     }
   }
diff --git a/core/modules/locale/locale.install b/core/modules/locale/locale.install
index dfc9fdc..45e8faf 100644
--- a/core/modules/locale/locale.install
+++ b/core/modules/locale/locale.install
@@ -8,6 +8,7 @@
 use Drupal\Core\File\Exception\FileException;
 use Drupal\Core\File\FileSystemInterface;
 use Drupal\Core\Link;
+use Drupal\Core\Requirements;
 use Drupal\Core\Url;
 
 /**
@@ -274,7 +275,7 @@ function locale_requirements($phase) {
             $requirements['locale_translation'] = [
               'title' => t('Translation update status'),
               'value' => Link::fromTextAndUrl(t('Updates available'), Url::fromRoute('locale.translate_status'))->toString(),
-              'severity' => REQUIREMENT_WARNING,
+              'severity' => Requirements::SEVERITY_WARNING,
               'description' => t('Updates available for: @languages. See the <a href=":updates">Available translation updates</a> page for more information.', ['@languages' => implode(', ', $available_updates), ':updates' => Url::fromRoute('locale.translate_status')->toString()]),
             ];
           }
@@ -282,7 +283,7 @@ function locale_requirements($phase) {
             $requirements['locale_translation'] = [
               'title' => t('Translation update status'),
               'value' => t('Missing translations'),
-              'severity' => REQUIREMENT_INFO,
+              'severity' => Requirements::SEVERITY_INFO,
               'description' => t('Missing translations for: @languages. See the <a href=":updates">Available translation updates</a> page for more information.', ['@languages' => implode(', ', $untranslated), ':updates' => Url::fromRoute('locale.translate_status')->toString()]),
             ];
           }
@@ -291,7 +292,7 @@ function locale_requirements($phase) {
           $requirements['locale_translation'] = [
             'title' => t('Translation update status'),
             'value' => t('Up to date'),
-            'severity' => REQUIREMENT_OK,
+            'severity' => Requirements::SEVERITY_OK,
           ];
         }
       }
@@ -299,7 +300,7 @@ function locale_requirements($phase) {
         $requirements['locale_translation'] = [
           'title' => t('Translation update status'),
           'value' => Link::fromTextAndUrl(t('Can not determine status'), Url::fromRoute('locale.translate_status'))->toString(),
-          'severity' => REQUIREMENT_WARNING,
+          'severity' => Requirements::SEVERITY_WARNING,
           'description' => t('No translation status is available. See the <a href=":updates">Available translation updates</a> page for more information.', [':updates' => Url::fromRoute('locale.translate_status')->toString()]),
         ];
       }
diff --git a/core/modules/media/media.install b/core/modules/media/media.install
index 29322aa..983d191 100644
--- a/core/modules/media/media.install
+++ b/core/modules/media/media.install
@@ -7,6 +7,7 @@
 
 use Drupal\Core\File\Exception\FileException;
 use Drupal\Core\File\FileSystemInterface;
+use Drupal\Core\Requirements;
 use Drupal\Core\Url;
 use Drupal\media\Entity\MediaType;
 use Drupal\media\MediaTypeInterface;
@@ -72,7 +73,7 @@ function media_requirements($phase) {
       if (!empty($error)) {
         $description = $error . ' ' . $description;
         $requirements['media']['description'] = $description;
-        $requirements['media']['severity'] = REQUIREMENT_ERROR;
+        $requirements['media']['severity'] = Requirements::SEVERITY_ERROR;
       }
     }
 
@@ -85,7 +86,7 @@ function media_requirements($phase) {
           'description' => t('The Media module is not compatible with contrib <a href=":url">Media Entity</a> 1.x branch. Please check the 2.x branch of that module for an upgrade path.', [
             ':url' => 'https://drupal.org/project/media_entity',
           ]),
-          'severity' => REQUIREMENT_ERROR,
+          'severity' => Requirements::SEVERITY_ERROR,
         ];
       }
     }
@@ -115,7 +116,7 @@ function media_requirements($phase) {
           'description' => t('It is potentially insecure to display oEmbed content in a frame that is served from the same domain as your main Drupal site, as this may allow execution of third-party code. <a href=":url">You can specify a different domain for serving oEmbed content here</a>.', [
             ':url' => Url::fromRoute('media.settings')->setAbsolute()->toString(),
           ]),
-          'severity' => REQUIREMENT_WARNING,
+          'severity' => Requirements::SEVERITY_WARNING,
         ];
       }
     }
@@ -164,7 +165,7 @@ function media_requirements($phase) {
             '%type' => $type->label(),
           ]
         ),
-        'severity' => REQUIREMENT_WARNING,
+        'severity' => Requirements::SEVERITY_WARNING,
       ];
     }
 
diff --git a/core/modules/migrate_drupal_multilingual/migrate_drupal_multilingual.install b/core/modules/migrate_drupal_multilingual/migrate_drupal_multilingual.install
index 7256494..d913f1f 100644
--- a/core/modules/migrate_drupal_multilingual/migrate_drupal_multilingual.install
+++ b/core/modules/migrate_drupal_multilingual/migrate_drupal_multilingual.install
@@ -5,6 +5,8 @@
  * Install, update and uninstall functions for the migrate drupal multilingual module.
  */
 
+use Drupal\Core\Requirements;
+
 /**
  * Implements hook_requirements().
  *
@@ -15,7 +17,7 @@ function migrate_drupal_multilingual_requirements($phase) {
   if ($phase === 'runtime') {
     $requirements['migrate_drupal_multilingual'] = [
       'title' => t('Migrate Drupal Multilingual'),
-      'severity' => REQUIREMENT_ERROR,
+      'severity' => Requirements::SEVERITY_ERROR,
       'description' => t('The Migrate Drupal Multilingual module is deprecated and should not be installed.'),
     ];
   }
diff --git a/core/modules/search/search.install b/core/modules/search/search.install
index d55c4d2..ec3c656 100644
--- a/core/modules/search/search.install
+++ b/core/modules/search/search.install
@@ -5,6 +5,8 @@
  * Install, update, and uninstall functions for the Search module.
  */
 
+use Drupal\Core\Requirements;
+
 /**
  * Implements hook_schema().
  */
@@ -148,7 +150,7 @@ function search_requirements($phase) {
     $requirements['search_status'] = [
       'title' => t('Search index progress'),
       'value' => t('@percent% (@remaining remaining)', ['@percent' => $percent, '@remaining' => $remaining]),
-      'severity' => REQUIREMENT_INFO,
+      'severity' => Requirements::SEVERITY_INFO,
     ];
   }
 
diff --git a/core/modules/system/src/Controller/DbUpdateController.php b/core/modules/system/src/Controller/DbUpdateController.php
index 2d1e886..f742ca4 100644
--- a/core/modules/system/src/Controller/DbUpdateController.php
+++ b/core/modules/system/src/Controller/DbUpdateController.php
@@ -7,6 +7,7 @@
 use Drupal\Core\Extension\ModuleHandlerInterface;
 use Drupal\Core\KeyValueStore\KeyValueExpirableFactoryInterface;
 use Drupal\Core\Render\BareHtmlPageRendererInterface;
+use Drupal\Core\Requirements;
 use Drupal\Core\Session\AccountInterface;
 use Drupal\Core\Site\Settings;
 use Drupal\Core\State\StateInterface;
@@ -152,7 +153,7 @@ public function handle($op, Request $request) {
     $regions = [];
     $requirements = update_check_requirements();
     $severity = drupal_requirements_severity($requirements);
-    if ($severity == REQUIREMENT_ERROR || ($severity == REQUIREMENT_WARNING && empty($_SESSION['update_ignore_warnings']))) {
+    if ($severity == Requirements::SEVERITY_ERROR || ($severity == Requirements::SEVERITY_WARNING && empty($_SESSION['update_ignore_warnings']))) {
       $regions['sidebar_first'] = $this->updateTasksList('requirements');
       $output = $this->requirements($severity, $requirements, $request);
     }
@@ -514,7 +515,7 @@ protected function results(Request $request) {
    *   A render array.
    */
   public function requirements($severity, array $requirements, Request $request) {
-    $options = $severity == REQUIREMENT_WARNING ? ['continue' => 1] : [];
+    $options = $severity == Requirements::SEVERITY_WARNING ? ['continue' => 1] : [];
     // @todo Revisit once https://www.drupal.org/node/2548095 is in. Something
     // like Url::fromRoute('system.db_update')->setOptions() should then be
     // possible.
diff --git a/core/modules/system/src/Element/StatusReportPage.php b/core/modules/system/src/Element/StatusReportPage.php
index 6c7f783..a92d197 100644
--- a/core/modules/system/src/Element/StatusReportPage.php
+++ b/core/modules/system/src/Element/StatusReportPage.php
@@ -4,6 +4,7 @@
 
 use Drupal\Core\Render\Element\RenderElement;
 use Drupal\Core\Render\Element\StatusReport;
+use Drupal\Core\Requirements;
 use Drupal\Core\StringTranslation\PluralTranslatableMarkup;
 
 /**
@@ -58,7 +59,7 @@ public static function preRenderGeneralInfo($element) {
         case 'php':
         case 'php_memory_limit':
           $element['#general_info']['#' . $key] = $requirement;
-          if (isset($requirement['severity']) && $requirement['severity'] < REQUIREMENT_WARNING) {
+          if (isset($requirement['severity']) && $requirement['severity'] < Requirements::SEVERITY_WARNING) {
             unset($element['#requirements'][$key]);
           }
           break;
@@ -93,12 +94,12 @@ public static function preRenderCounters($element) {
 
     $severities = StatusReport::getSeverities();
     foreach ($element['#requirements'] as $key => &$requirement) {
-      $severity = $severities[REQUIREMENT_INFO];
+      $severity = $severities[Requirements::SEVERITY_INFO];
       if (isset($requirement['severity'])) {
         $severity = $severities[(int) $requirement['severity']];
       }
       elseif (defined('MAINTENANCE_MODE') && MAINTENANCE_MODE == 'install') {
-        $severity = $severities[REQUIREMENT_OK];
+        $severity = $severities[Requirements::SEVERITY_OK];
       }
 
       if (isset($counters[$severity['status']])) {
diff --git a/core/modules/system/src/Plugin/ImageToolkit/GDToolkit.php b/core/modules/system/src/Plugin/ImageToolkit/GDToolkit.php
index 2d5e167..65429fb 100644
--- a/core/modules/system/src/Plugin/ImageToolkit/GDToolkit.php
+++ b/core/modules/system/src/Plugin/ImageToolkit/GDToolkit.php
@@ -9,6 +9,7 @@
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\ImageToolkit\ImageToolkitBase;
 use Drupal\Core\ImageToolkit\ImageToolkitOperationManagerInterface;
+use Drupal\Core\Requirements;
 use Drupal\Core\StreamWrapper\StreamWrapperInterface;
 use Drupal\Core\StreamWrapper\StreamWrapperManager;
 use Drupal\Core\StreamWrapper\StreamWrapperManagerInterface;
@@ -391,7 +392,7 @@ public function getRequirements() {
 
     // Check for filter and rotate support.
     if (!function_exists('imagefilter') || !function_exists('imagerotate')) {
-      $requirements['version']['severity'] = REQUIREMENT_WARNING;
+      $requirements['version']['severity'] = Requirements::SEVERITY_WARNING;
       $requirements['version']['description'] = t('The GD Library for PHP is enabled, but was compiled without support for functions used by the rotate and desaturate effects. It was probably compiled using the official GD libraries from http://www.libgd.org instead of the GD library bundled with PHP. You should recompile PHP --with-gd using the bundled GD library. See <a href="http://php.net/manual/book.image.php">the PHP manual</a>.');
     }
 
diff --git a/core/modules/system/src/SystemManager.php b/core/modules/system/src/SystemManager.php
index 8f2bb41..3f45100 100644
--- a/core/modules/system/src/SystemManager.php
+++ b/core/modules/system/src/SystemManager.php
@@ -7,6 +7,7 @@
 use Drupal\Core\Menu\MenuLinkInterface;
 use Drupal\Core\Menu\MenuTreeParameters;
 use Drupal\Core\Extension\ModuleHandlerInterface;
+use Drupal\Core\Requirements;
 use Symfony\Component\HttpFoundation\RequestStack;
 
 /**
@@ -52,17 +53,17 @@ class SystemManager {
   /**
    * Requirement severity -- Requirement successfully met.
    */
-  const REQUIREMENT_OK = 0;
+  const REQUIREMENT_OK = Requirements::SEVERITY_OK;
 
   /**
    * Requirement severity -- Warning condition; proceed but flag warning.
    */
-  const REQUIREMENT_WARNING = 1;
+  const REQUIREMENT_WARNING = Requirements::SEVERITY_WARNING;
 
   /**
    * Requirement severity -- Error condition; abort installation.
    */
-  const REQUIREMENT_ERROR = 2;
+  const REQUIREMENT_ERROR = Requirements::SEVERITY_ERROR;
 
   /**
    * Constructs a SystemManager object.
diff --git a/core/modules/system/system.install b/core/modules/system/system.install
index dc39b9a..eac45f7 100644
--- a/core/modules/system/system.install
+++ b/core/modules/system/system.install
@@ -11,6 +11,7 @@
 use Drupal\Component\Utility\Environment;
 use Drupal\Component\Utility\OpCodeCache;
 use Drupal\Component\Utility\Unicode;
+use Drupal\Core\Requirements;
 use Drupal\Core\Database\Database;
 use Drupal\Core\DrupalKernel;
 use Drupal\Core\Entity\Sql\SqlContentEntityStorage;
@@ -39,7 +40,7 @@ function system_requirements($phase) {
     $requirements['drupal'] = [
       'title' => t('Drupal'),
       'value' => \Drupal::VERSION,
-      'severity' => REQUIREMENT_INFO,
+      'severity' => Requirements::SEVERITY_INFO,
       'weight' => -10,
     ];
 
@@ -55,7 +56,7 @@ function system_requirements($phase) {
           '%profile' => $profile,
           '%version' => $info['version'],
         ]),
-        'severity' => REQUIREMENT_INFO,
+        'severity' => Requirements::SEVERITY_INFO,
         'weight' => -9,
       ];
     }
@@ -73,7 +74,7 @@ function system_requirements($phase) {
       $requirements['experimental_modules'] = [
         'title' => t('Experimental modules enabled'),
         'value' => t('Experimental modules found: %module_list. <a href=":url">Experimental modules</a> are provided for testing purposes only. Use at your own risk.', ['%module_list' => implode(', ', $experimental_modules), ':url' => 'https://www.drupal.org/core/experimental']),
-        'severity' => REQUIREMENT_WARNING,
+        'severity' => Requirements::SEVERITY_WARNING,
       ];
     }
     // Warn if any experimental themes are installed.
@@ -88,7 +89,7 @@ function system_requirements($phase) {
       $requirements['experimental_themes'] = [
         'title' => t('Experimental themes enabled'),
         'value' => t('Experimental themes found: %theme_list. Experimental themes are provided for testing purposes only. Use at your own risk.', ['%theme_list' => implode(', ', $experimental_themes)]),
-        'severity' => REQUIREMENT_WARNING,
+        'severity' => Requirements::SEVERITY_WARNING,
       ];
     }
   }
@@ -151,7 +152,7 @@ function system_requirements($phase) {
       $requirements['apache_version'] = [
         'title' => t('Apache version'),
         'value' => $apache_version_string,
-        'severity' => REQUIREMENT_WARNING,
+        'severity' => Requirements::SEVERITY_WARNING,
         'description' => t('Due to the settings for ServerTokens in httpd.conf, it is impossible to accurately determine the version of Apache running on this server. The reported value is @reported, to run Drupal without mod_rewrite, a minimum version of 2.2.16 is needed.', ['@reported' => $apache_version_string]),
       ];
     }
@@ -160,7 +161,7 @@ function system_requirements($phase) {
       $requirements['Apache version'] = [
         'title' => t('Apache version'),
         'value' => $apache_version_string,
-        'severity' => REQUIREMENT_ERROR,
+        'severity' => Requirements::SEVERITY_ERROR,
         'description' => t('The minimum version of Apache needed to run Drupal without mod_rewrite enabled is 2.2.16. See the <a href=":link">enabling clean URLs</a> page for more information on mod_rewrite.', [':link' => 'http://drupal.org/docs/8/clean-urls-in-drupal-8']),
       ];
     }
@@ -169,7 +170,7 @@ function system_requirements($phase) {
       $requirements['rewrite_module'] = [
         'title' => t('Clean URLs'),
         'value' => t('Disabled'),
-        'severity' => REQUIREMENT_WARNING,
+        'severity' => Requirements::SEVERITY_WARNING,
         'description' => t('Your server is capable of using clean URLs, but it is not enabled. Using clean URLs gives an improved user experience and is recommended. <a href=":link">Enable clean URLs</a>', [':link' => 'http://drupal.org/docs/8/clean-urls-in-drupal-8']),
       ];
     }
@@ -197,7 +198,7 @@ function system_requirements($phase) {
       'title' => t('PHP'),
       'value' => $phpversion_label,
       'description' => t('The phpinfo() function has been disabled for security reasons. To see your server\'s phpinfo() information, change your PHP settings or contact your server administrator. For more information, <a href=":phpinfo">Enabling and disabling phpinfo()</a> handbook page.', [':phpinfo' => 'https://www.drupal.org/node/243993']),
-      'severity' => REQUIREMENT_INFO,
+      'severity' => Requirements::SEVERITY_INFO,
     ];
   }
 
@@ -210,7 +211,7 @@ function system_requirements($phase) {
         ':php_requirements' => 'https://www.drupal.org/docs/8/system-requirements/php',
       ]
     );
-    $requirements['php']['severity'] = REQUIREMENT_ERROR;
+    $requirements['php']['severity'] = Requirements::SEVERITY_ERROR;
 
     // If the PHP version is also below the absolute minimum allowed, it's not
     // safe to continue with the requirements check.
@@ -221,7 +222,7 @@ function system_requirements($phase) {
     // are some problems with the site's PHP version, it's still better for the
     // site to keep its Drupal codebase up to date.
     elseif ($phase === 'update') {
-      $requirements['php']['severity'] = REQUIREMENT_WARNING;
+      $requirements['php']['severity'] = Requirements::SEVERITY_WARNING;
     }
     // Since we allow sites with unsupported PHP versions to still run Drupal
     // updates, we also need to be able to run tests with those PHP versions,
@@ -229,7 +230,7 @@ function system_requirements($phase) {
     // required to pass on these PHP versions, but we want to monitor which
     // ones do and don't.
     elseif ($phase === 'install' && drupal_valid_test_ua()) {
-      $requirements['php']['severity'] = REQUIREMENT_INFO;
+      $requirements['php']['severity'] = Requirements::SEVERITY_INFO;
     }
   }
   // For PHP versions that are still supported but no longer recommended,
@@ -237,7 +238,7 @@ function system_requirements($phase) {
   // becomes urgent.
   elseif ($phase === 'runtime' && version_compare($phpversion, DRUPAL_RECOMMENDED_PHP) < 0) {
     $requirements['php']['description'] = t('It is recommended to upgrade to PHP version %recommended or higher for the best ongoing support.  See <a href="http://php.net/supported-versions.php">PHP\'s version support documentation</a> and the <a href=":php_requirements">Drupal 8 PHP requirements handbook page</a> for more information.', ['%recommended' => DRUPAL_RECOMMENDED_PHP, ':php_requirements' => 'https://www.drupal.org/docs/8/system-requirements/php']);
-    $requirements['php']['severity'] = REQUIREMENT_INFO;
+    $requirements['php']['severity'] = Requirements::SEVERITY_INFO;
   }
 
   // Test for PHP extensions.
@@ -286,7 +287,7 @@ function system_requirements($phase) {
     ];
 
     $requirements['php_extensions']['value'] = t('Disabled');
-    $requirements['php_extensions']['severity'] = REQUIREMENT_ERROR;
+    $requirements['php_extensions']['severity'] = Requirements::SEVERITY_ERROR;
     $requirements['php_extensions']['description'] = $description;
   }
   else {
@@ -298,7 +299,7 @@ function system_requirements($phase) {
     if (!OpCodeCache::isEnabled()) {
       $requirements['php_opcache'] = [
         'value' => t('Not enabled'),
-        'severity' => REQUIREMENT_WARNING,
+        'severity' => Requirements::SEVERITY_WARNING,
         'description' => t('PHP OPcode caching can improve your site\'s performance considerably. It is <strong>highly recommended</strong> to have <a href="http://php.net/manual/opcache.installation.php" target="_blank">OPcache</a> installed on your server.'),
       ];
     }
@@ -317,7 +318,7 @@ function system_requirements($phase) {
       $apcu_recommended_size = '32 MB';
       $requirements['php_apcu']['value'] = t('Enabled (@size)', ['@size' => $apcu_actual_size]);
       if (Bytes::toInt($apcu_actual_size) < Bytes::toInt($apcu_recommended_size)) {
-        $requirements['php_apcu']['severity'] = REQUIREMENT_WARNING;
+        $requirements['php_apcu']['severity'] = Requirements::SEVERITY_WARNING;
         $requirements['php_apcu']['description'] = t('Depending on your configuration, Drupal can run with a @apcu_size APCu limit. However, a @apcu_default_size APCu limit (the default) or above is recommended, especially if your site uses additional custom or contributed modules.', [
           '@apcu_size' => $apcu_actual_size,
           '@apcu_default_size' => $apcu_recommended_size,
@@ -326,13 +327,13 @@ function system_requirements($phase) {
       else {
         $memory_available = $memory_info['avail_mem'] / $memory_info['seg_size'];
         if ($memory_available < 0.1) {
-          $requirements['php_apcu']['severity'] = REQUIREMENT_ERROR;
+          $requirements['php_apcu']['severity'] = Requirements::SEVERITY_ERROR;
         }
         elseif ($memory_available < 0.25) {
-          $requirements['php_apcu']['severity'] = REQUIREMENT_WARNING;
+          $requirements['php_apcu']['severity'] = Requirements::SEVERITY_WARNING;
         }
         else {
-          $requirements['php_apcu']['severity'] = REQUIREMENT_OK;
+          $requirements['php_apcu']['severity'] = Requirements::SEVERITY_OK;
         }
         $requirements['php_apcu']['description'] = t('Memory available: @available.', [
           '@available' => format_size($memory_info['avail_mem']),
@@ -342,7 +343,7 @@ function system_requirements($phase) {
     else {
       $requirements['php_apcu'] += [
         'value' => t('Not enabled'),
-        'severity' => REQUIREMENT_INFO,
+        'severity' => Requirements::SEVERITY_INFO,
         'description' => t('PHP APCu caching can improve your site\'s performance considerably. It is <strong>highly recommended</strong> to have <a href="https://www.php.net/manual/apcu.installation.php" target="_blank">APCu</a> installed on your server.'),
       ];
     }
@@ -382,7 +383,7 @@ function system_requirements($phase) {
         $requirements['php_random_bytes']['description'] = t('Drupal is unable to generate highly randomized numbers, which means certain security features like password reset URLs are not as secure as they should be. Instead, only a slow, less-secure fallback generator is available. See the <a href=":drupal-php">system requirements</a> page for more information. %exception_message', $args);
       }
       $requirements['php_random_bytes']['value'] = t('Less secure');
-      $requirements['php_random_bytes']['severity'] = REQUIREMENT_ERROR;
+      $requirements['php_random_bytes']['severity'] = Requirements::SEVERITY_ERROR;
     }
   }
 
@@ -420,7 +421,7 @@ function system_requirements($phase) {
 
     if (!$database_ok) {
       $requirements['database_extensions']['value'] = t('Disabled');
-      $requirements['database_extensions']['severity'] = REQUIREMENT_ERROR;
+      $requirements['database_extensions']['severity'] = Requirements::SEVERITY_ERROR;
       $requirements['database_extensions']['description'] = $pdo_message;
     }
     else {
@@ -451,7 +452,7 @@ function system_requirements($phase) {
         // Use the comma-list style to display a single error without bullets.
         '#context' => ['list_style' => $error_count === 1 ? 'comma-list' : ''],
       ];
-      $requirements['database_system_version']['severity'] = REQUIREMENT_ERROR;
+      $requirements['database_system_version']['severity'] = Requirements::SEVERITY_ERROR;
       $requirements['database_system_version']['description'] = $error_message;
     }
   }
@@ -496,7 +497,7 @@ function system_requirements($phase) {
       ];
 
       $requirements['php_memory_limit']['description'] = $description;
-      $requirements['php_memory_limit']['severity'] = REQUIREMENT_WARNING;
+      $requirements['php_memory_limit']['severity'] = Requirements::SEVERITY_WARNING;
     }
   }
 
@@ -518,12 +519,12 @@ function system_requirements($phase) {
       $error_value = t('Protection disabled');
       // If permissions hardening is disabled, then only show a warning for a
       // writable file, as a reminder, rather than an error.
-      $file_protection_severity = REQUIREMENT_WARNING;
+      $file_protection_severity = Requirements::SEVERITY_WARNING;
     }
     else {
       $error_value = t('Not protected');
       // In normal operation, writable files or directories are an error.
-      $file_protection_severity = REQUIREMENT_ERROR;
+      $file_protection_severity = Requirements::SEVERITY_ERROR;
       if (!drupal_verify_install_file($site_path, FILE_NOT_WRITABLE, 'dir')) {
         $conf_errors[] = t("The directory %file is not protected from modifications and poses a security risk. You must change the directory's permissions to be non-writable.", ['%file' => $site_path]);
       }
@@ -581,7 +582,7 @@ function system_requirements($phase) {
         $requirements[$htaccess_file] = [
           'title' => new TranslatableMarkup($protected_dir->getTitle()),
           'value' => t('Not fully protected'),
-          'severity' => REQUIREMENT_ERROR,
+          'severity' => Requirements::SEVERITY_ERROR,
           'description' => t('See <a href=":url">@url</a> for information about the recommended .htaccess file which should be added to the %directory directory to help protect against arbitrary code execution.', [':url' => $url, '@url' => $url, '%directory' => $protected_dir->getPath()]),
         ];
       }
@@ -603,12 +604,12 @@ function system_requirements($phase) {
     }
 
     // Determine severity based on time since cron last ran.
-    $severity = REQUIREMENT_INFO;
+    $severity = Requirements::SEVERITY_INFO;
     if (REQUEST_TIME - $cron_last > $threshold_error) {
-      $severity = REQUIREMENT_ERROR;
+      $severity = Requirements::SEVERITY_ERROR;
     }
     elseif (REQUEST_TIME - $cron_last > $threshold_warning) {
-      $severity = REQUIREMENT_WARNING;
+      $severity = Requirements::SEVERITY_WARNING;
     }
 
     // Set summary and description based on values determined above.
@@ -619,7 +620,7 @@ function system_requirements($phase) {
       'severity' => $severity,
       'value' => $summary,
     ];
-    if ($severity != REQUIREMENT_INFO) {
+    if ($severity != Requirements::SEVERITY_INFO) {
       $requirements['cron']['description'][] = [
         [
           '#markup' => t('Cron has not run recently.'),
@@ -705,7 +706,7 @@ function system_requirements($phase) {
       $requirements['config sync directory'] = [
         'title' => t('Configuration sync directory'),
         'description' => $description,
-        'severity' => REQUIREMENT_ERROR,
+        'severity' => Requirements::SEVERITY_ERROR,
       ];
     }
   }
@@ -714,7 +715,7 @@ function system_requirements($phase) {
       'title' => t('Configuration sync directory'),
       'value' => t('Not present'),
       'description' => t("Your %file file must define the %setting setting as a string containing the directory in which configuration files can be found.", ['%file' => $site_path . '/settings.php', '%setting' => "\$settings['config_sync_directory']"]),
-      'severity' => REQUIREMENT_ERROR,
+      'severity' => Requirements::SEVERITY_ERROR,
     ];
   }
 
@@ -762,7 +763,7 @@ function system_requirements($phase) {
           ],
         ];
         $requirements['file system']['description'] = $description;
-        $requirements['file system']['severity'] = REQUIREMENT_ERROR;
+        $requirements['file system']['severity'] = Requirements::SEVERITY_ERROR;
       }
     }
     else {
@@ -806,7 +807,7 @@ function system_requirements($phase) {
     }
 
     if ($has_pending_updates) {
-      $requirements['update']['severity'] = REQUIREMENT_ERROR;
+      $requirements['update']['severity'] = Requirements::SEVERITY_ERROR;
       $requirements['update']['value'] = t('Out of date');
       $requirements['update']['description'] = t('Some modules have database schema updates to install. You should run the <a href=":update">database update script</a> immediately.', [':update' => Url::fromRoute('system.db_update')->toString()]);
     }
@@ -828,7 +829,7 @@ function system_requirements($phase) {
       }
 
       $entity_update_issues = \Drupal::service('renderer')->renderPlain($build);
-      $requirements['entity_update']['severity'] = REQUIREMENT_ERROR;
+      $requirements['entity_update']['severity'] = Requirements::SEVERITY_ERROR;
       $requirements['entity_update']['value'] = t('Mismatched entity and/or field definitions');
       $requirements['entity_update']['description'] = t('The following changes were detected in the entity type and field definitions. @updates', ['@updates' => $entity_update_issues]);
     }
@@ -839,7 +840,7 @@ function system_requirements($phase) {
     if (Settings::get('update_free_access')) {
       $requirements['update access'] = [
         'value' => t('Not protected'),
-        'severity' => REQUIREMENT_ERROR,
+        'severity' => Requirements::SEVERITY_ERROR,
         'description' => t('The update.php script is accessible to everyone without authentication check, which is a security risk. You must change the @settings_name value in your settings.php back to FALSE.', ['@settings_name' => '$settings[\'update_free_access\']']),
       ];
     }
@@ -879,7 +880,7 @@ function system_requirements($phase) {
             ),
           ],
         ],
-        'severity' => REQUIREMENT_ERROR,
+        'severity' => Requirements::SEVERITY_ERROR,
       ];
     };
     $profile = \Drupal::installProfile();
@@ -914,7 +915,7 @@ function system_requirements($phase) {
             'title' => t('Unresolved dependency'),
             'description' => t('@name requires this module.', ['@name' => $name]),
             'value' => t('@required_name (Missing)', ['@required_name' => $required_module]),
-            'severity' => REQUIREMENT_ERROR,
+            'severity' => Requirements::SEVERITY_ERROR,
           ];
           continue;
         }
@@ -927,7 +928,7 @@ function system_requirements($phase) {
             'title' => t('Unresolved dependency'),
             'description' => t('@name requires this module and version. Currently using @required_name version @version', ['@name' => $name, '@required_name' => $required_name, '@version' => $version]),
             'value' => t('@required_name (Version @compatibility required)', ['@required_name' => $required_name, '@compatibility' => $requirement->getConstraintString()]),
-            'severity' => REQUIREMENT_ERROR,
+            'severity' => Requirements::SEVERITY_ERROR,
           ];
           continue;
         }
@@ -1051,9 +1052,9 @@ function system_requirements($phase) {
     Unicode::STATUS_ERROR => t('Error'),
   ];
   $severities = [
-    Unicode::STATUS_SINGLEBYTE => REQUIREMENT_WARNING,
+    Unicode::STATUS_SINGLEBYTE => Requirements::SEVERITY_WARNING,
     Unicode::STATUS_MULTIBYTE => NULL,
-    Unicode::STATUS_ERROR => REQUIREMENT_ERROR,
+    Unicode::STATUS_ERROR => Requirements::SEVERITY_ERROR,
   ];
   $failed_check = Unicode::check();
   $library = Unicode::getStatus();
@@ -1082,7 +1083,7 @@ function system_requirements($phase) {
     if (!\Drupal::moduleHandler()->moduleExists('update')) {
       $requirements['update status'] = [
         'value' => t('Not enabled'),
-        'severity' => REQUIREMENT_WARNING,
+        'severity' => Requirements::SEVERITY_WARNING,
         'description' => t('Update notifications are not enabled. It is <strong>highly recommended</strong> that you enable the Update Manager module from the <a href=":module">module administration page</a> in order to stay up-to-date on new releases. For more information, <a href=":update">Update status handbook page</a>.', [
           ':update' => 'https://www.drupal.org/documentation/modules/update',
           ':module' => Url::fromRoute('system.modules_list')->toString(),
@@ -1100,7 +1101,7 @@ function system_requirements($phase) {
       $requirements['rebuild access'] = [
         'title' => t('Rebuild access'),
         'value' => t('Enabled'),
-        'severity' => REQUIREMENT_ERROR,
+        'severity' => Requirements::SEVERITY_ERROR,
         'description' => t('The rebuild_access setting is enabled in settings.php. It is recommended to have this setting disabled unless you are performing a rebuild.'),
       ];
     }
@@ -1115,7 +1116,7 @@ function system_requirements($phase) {
         'title' => t('Trusted Host Settings'),
         'value' => t('Not enabled'),
         'description' => t('The trusted_host_patterns setting is not configured in settings.php. This can lead to security vulnerabilities. It is <strong>highly recommended</strong> that you configure this. See <a href=":url">Protecting against HTTP HOST Header attacks</a> for more information.', [':url' => 'https://www.drupal.org/docs/8/install/trusted-host-settings']),
-        'severity' => REQUIREMENT_ERROR,
+        'severity' => Requirements::SEVERITY_ERROR,
       ];
     }
     else {
@@ -1140,7 +1141,7 @@ function system_requirements($phase) {
         'title' => t('Xdebug settings'),
         'value' => t('xdebug.max_nesting_level is set to %value.', ['%value' => $current_nesting_level]),
         'description' => t('Set <code>xdebug.max_nesting_level=@level</code> in your PHP configuration as some pages in your Drupal site will not work when this setting is too low.', ['@level' => $minimum_nesting_level]),
-        'severity' => REQUIREMENT_ERROR,
+        'severity' => Requirements::SEVERITY_ERROR,
       ];
     }
   }
@@ -1168,7 +1169,7 @@ function system_requirements($phase) {
         'title' => t('IIS httpoxy protection'),
         'value' => t('Your PHP runtime version is affected by the httpoxy vulnerability.'),
         'description' => t('Either update your PHP runtime version or uncomment the "Erase HTTP_PROXY" rule in your web.config file and add HTTP_PROXY to the allowed headers list. See more details in the <a href=":link">security advisory</a>.', [':link' => 'https://www.drupal.org/SA-CORE-2016-003']),
-        'severity' => REQUIREMENT_ERROR,
+        'severity' => Requirements::SEVERITY_ERROR,
       ];
     }
   }
@@ -1185,7 +1186,7 @@ function system_requirements($phase) {
       $requirements['max_path_on_windows'] = [
         'title' => t('Windows installation depth'),
         'description' => t('The public files directory path is %depth characters. Paths longer than 120 characters will cause problems on Windows.', ['%depth' => $depth]),
-        'severity' => REQUIREMENT_ERROR,
+        'severity' => Requirements::SEVERITY_ERROR,
       ];
     }
   }
@@ -1195,7 +1196,7 @@ function system_requirements($phase) {
       'title' => t('Limited date range'),
       'value' => t('Your PHP installation has a limited date range.'),
       'description' => t('You are running on a system where PHP is compiled or limited to using 32-bit integers. This will limit the range of dates and timestamps to the years 1901-2038. Read about the <a href=":url">limitations of 32-bit PHP</a>.', [':url' => 'https://www.drupal.org/docs/8/system-requirements/limitations-of-32-bit-php']),
-      'severity' => REQUIREMENT_WARNING,
+      'severity' => Requirements::SEVERITY_WARNING,
     ];
   }
 
@@ -1208,7 +1209,7 @@ function system_requirements($phase) {
         'title' => t('Configuration install'),
         'value' => $install_state['parameters']['profile'],
         'description' => t('The selected profile has a hook_install() implementation and therefore can not be installed from configuration.'),
-        'severity' => REQUIREMENT_ERROR,
+        'severity' => Requirements::SEVERITY_ERROR,
       ];
     }
   }
@@ -1222,7 +1223,7 @@ function system_requirements($phase) {
       $requirements['install_profile_in_settings'] = [
         'title' => t('Install profile in settings'),
         'value' => t("Drupal 9 no longer uses the \$settings['install_profile'] value in settings.php and it should be removed."),
-        'severity' => REQUIREMENT_WARNING,
+        'severity' => Requirements::SEVERITY_WARNING,
       ];
     }
   }
@@ -1259,7 +1260,7 @@ function system_requirements($phase) {
           '@previous_major' => 8,
           ':url' => 'https://www.drupal.org/docs/9/how-to-prepare-your-drupal-7-or-8-site-for-drupal-9/upgrading-a-drupal-8-site-to-drupal-9',
         ]),
-        'severity' => REQUIREMENT_ERROR,
+        'severity' => Requirements::SEVERITY_ERROR,
       ];
     }
     else {
@@ -1271,7 +1272,7 @@ function system_requirements($phase) {
             '@last_removed_version' => $data['last_removed'],
             '@installed_version' => $data['installed_version'],
           ]),
-          'severity' => REQUIREMENT_ERROR,
+          'severity' => Requirements::SEVERITY_ERROR,
         ];
       }
     }
@@ -1299,7 +1300,7 @@ function system_requirements($phase) {
           $requirements[$module . '_post_update_removed'] = [
             'title' => t('Missing updates for: @module', ['@module' => $module_info->info['name']]),
             'description' => $description,
-            'severity' => REQUIREMENT_ERROR,
+            'severity' => Requirements::SEVERITY_ERROR,
           ];
         }
       }
diff --git a/core/modules/system/tests/modules/experimental_module_requirements_test/experimental_module_requirements_test.install b/core/modules/system/tests/modules/experimental_module_requirements_test/experimental_module_requirements_test.install
index 1ee0dca..012c484 100644
--- a/core/modules/system/tests/modules/experimental_module_requirements_test/experimental_module_requirements_test.install
+++ b/core/modules/system/tests/modules/experimental_module_requirements_test/experimental_module_requirements_test.install
@@ -5,6 +5,8 @@
  * Experimental Test Requirements module to test hook_requirements().
  */
 
+use Drupal\Core\Requirements;
+
 /**
  * Implements hook_requirements().
  */
@@ -12,7 +14,7 @@ function experimental_module_requirements_test_requirements() {
   $requirements = [];
   if (\Drupal::state()->get('experimental_module_requirements_test_requirements', FALSE)) {
     $requirements['experimental_module_requirements_test_requirements'] = [
-      'severity' => REQUIREMENT_ERROR,
+      'severity' => Requirements::SEVERITY_ERROR,
       'description' => t('The Experimental Test Requirements module can not be installed.'),
     ];
   }
diff --git a/core/modules/system/tests/modules/requirements1_test/requirements1_test.install b/core/modules/system/tests/modules/requirements1_test/requirements1_test.install
index e812161..cf6998d 100644
--- a/core/modules/system/tests/modules/requirements1_test/requirements1_test.install
+++ b/core/modules/system/tests/modules/requirements1_test/requirements1_test.install
@@ -5,6 +5,8 @@
  * Install hooks for test module.
  */
 
+use Drupal\Core\Requirements;
+
 /**
  * Implements hook_requirements().
  */
@@ -15,7 +17,7 @@ function requirements1_test_requirements($phase) {
   if ('install' == $phase) {
     $requirements['requirements1_test'] = [
       'title' => t('Requirements 1 Test'),
-      'severity' => REQUIREMENT_ERROR,
+      'severity' => Requirements::SEVERITY_ERROR,
       'description' => t('Requirements 1 Test failed requirements.'),
     ];
   }
diff --git a/core/modules/system/tests/modules/update_script_test/update_script_test.install b/core/modules/system/tests/modules/update_script_test/update_script_test.install
index ce38743..5dc8e27 100644
--- a/core/modules/system/tests/modules/update_script_test/update_script_test.install
+++ b/core/modules/system/tests/modules/update_script_test/update_script_test.install
@@ -5,6 +5,8 @@
  * Install, update and uninstall functions for the update_script_test module.
  */
 
+use Drupal\Core\Requirements;
+
 /**
  * Implements hook_requirements().
  */
@@ -15,20 +17,20 @@ function update_script_test_requirements($phase) {
     // Set a requirements warning or error when the test requests it.
     $requirement_type = \Drupal::config('update_script_test.settings')->get('requirement_type');
     switch ($requirement_type) {
-      case REQUIREMENT_WARNING:
+      case Requirements::SEVERITY_WARNING:
         $requirements['update_script_test'] = [
           'title' => 'Update script test',
           'value' => 'Warning',
           'description' => 'This is a requirements warning provided by the update_script_test module.',
-          'severity' => REQUIREMENT_WARNING,
+          'severity' => Requirements::SEVERITY_WARNING,
         ];
         break;
-      case REQUIREMENT_ERROR:
+      case Requirements::SEVERITY_ERROR:
         $requirements['update_script_test'] = [
           'title' => 'Update script test',
           'value' => 'Error',
           'description' => 'This is a requirements error provided by the update_script_test module.',
-          'severity' => REQUIREMENT_ERROR,
+          'severity' => Requirements::SEVERITY_ERROR,
         ];
         break;
     }
diff --git a/core/modules/system/tests/modules/update_test_schema/update_test_schema.install b/core/modules/system/tests/modules/update_test_schema/update_test_schema.install
index c4a7cfc..b2fa653 100644
--- a/core/modules/system/tests/modules/update_test_schema/update_test_schema.install
+++ b/core/modules/system/tests/modules/update_test_schema/update_test_schema.install
@@ -7,6 +7,7 @@
 
 use Drupal\Core\Database\Database;
 use Drupal\Core\Url;
+use Drupal\Core\Requirements;
 use Drupal\Component\Render\FormattableMarkup;
 
 /**
@@ -18,7 +19,7 @@ function update_test_schema_requirements($phase) {
     $requirements['path_alias_test'] = [
       'title' => 'Path alias test',
       'value' => 'Check a path alias for the admin page',
-      'severity' => REQUIREMENT_INFO,
+      'severity' => Requirements::SEVERITY_INFO,
       'description' => new FormattableMarkup('Visit <a href=":link">the structure page</a> to do many useful things.', [
         ':link' => Url::fromRoute('system.admin_structure')->toString(),
       ]),
diff --git a/core/modules/system/tests/src/Functional/System/SitesDirectoryHardeningTest.php b/core/modules/system/tests/src/Functional/System/SitesDirectoryHardeningTest.php
index b8b2565..8caaf11 100644
--- a/core/modules/system/tests/src/Functional/System/SitesDirectoryHardeningTest.php
+++ b/core/modules/system/tests/src/Functional/System/SitesDirectoryHardeningTest.php
@@ -3,6 +3,7 @@
 namespace Drupal\Tests\system\Functional\System;
 
 use Drupal\Component\Render\FormattableMarkup;
+use Drupal\Core\Requirements;
 use Drupal\Core\Site\Settings;
 use Drupal\Core\StringTranslation\StringTranslationTrait;
 use Drupal\Tests\BrowserTestBase;
@@ -59,7 +60,7 @@ public function testSitesDirectoryHardeningConfig() {
 
     // Manually trigger the requirements check.
     $requirements = $this->checkSystemRequirements();
-    $this->assertEqual(REQUIREMENT_WARNING, $requirements['configuration_files']['severity'], 'Warning severity is properly set.');
+    $this->assertEqual(Requirements::SEVERITY_WARNING, $requirements['configuration_files']['severity'], 'Warning severity is properly set.');
     $this->assertEquals('Protection disabled', (string) $requirements['configuration_files']['value']);
     $description = strip_tags(\Drupal::service('renderer')->renderPlain($requirements['configuration_files']['description']));
     $this->assertStringContainsString('settings.php is not protected from modifications and poses a security risk.', $description);
diff --git a/core/modules/system/tests/src/Functional/UpdateSystem/UpdateScriptTest.php b/core/modules/system/tests/src/Functional/UpdateSystem/UpdateScriptTest.php
index e129bfc..4344ed5 100644
--- a/core/modules/system/tests/src/Functional/UpdateSystem/UpdateScriptTest.php
+++ b/core/modules/system/tests/src/Functional/UpdateSystem/UpdateScriptTest.php
@@ -3,6 +3,7 @@
 namespace Drupal\Tests\system\Functional\UpdateSystem;
 
 use Drupal\Component\Serialization\Yaml;
+use Drupal\Core\Requirements;
 use Drupal\Core\Url;
 use Drupal\language\Entity\ConfigurableLanguage;
 use Drupal\Tests\BrowserTestBase;
@@ -141,7 +142,7 @@ public function testRequirements() {
     // First, run this test with pending updates to make sure they can be run
     // successfully.
     $this->drupalLogin($this->updateUser);
-    $update_script_test_config->set('requirement_type', REQUIREMENT_WARNING)->save();
+    $update_script_test_config->set('requirement_type', Requirements::SEVERITY_WARNING)->save();
     drupal_set_installed_schema_version('update_script_test', drupal_get_installed_schema_version('update_script_test') - 1);
     $this->drupalGet($this->updateUrl, ['external' => TRUE]);
     $this->assertText('This is a requirements warning provided by the update_script_test module.');
@@ -167,7 +168,7 @@ public function testRequirements() {
     // If there is a requirements error, it should be displayed even after
     // clicking the link to proceed (since the problem that triggered the error
     // has not been fixed).
-    $update_script_test_config->set('requirement_type', REQUIREMENT_ERROR)->save();
+    $update_script_test_config->set('requirement_type', Requirements::SEVERITY_ERROR)->save();
     $this->drupalGet($this->updateUrl, ['external' => TRUE]);
     $this->assertText('This is a requirements error provided by the update_script_test module.');
     $this->clickLink('try again');
@@ -175,7 +176,7 @@ public function testRequirements() {
 
     // Ensure that changes to a module's requirements that would cause errors
     // are displayed correctly.
-    $update_script_test_config->set('requirement_type', REQUIREMENT_OK)->save();
+    $update_script_test_config->set('requirement_type', Requirements::SEVERITY_OK)->save();
     \Drupal::state()->set('update_script_test.system_info_alter', ['dependencies' => ['a_module_that_does_not_exist']]);
     $this->drupalGet($this->updateUrl, ['external' => TRUE]);
     $this->assertSession()->responseContains('a_module_that_does_not_exist (Missing)');
diff --git a/core/modules/update/src/ProjectSecurityRequirement.php b/core/modules/update/src/ProjectSecurityRequirement.php
index b14acf5..88d4f5f 100644
--- a/core/modules/update/src/ProjectSecurityRequirement.php
+++ b/core/modules/update/src/ProjectSecurityRequirement.php
@@ -4,6 +4,7 @@
 
 use Drupal\Core\StringTranslation\StringTranslationTrait;
 use Drupal\Core\Url;
+use Drupal\Core\Requirements;
 
 /**
  * Class for generating a project's security requirement.
@@ -141,11 +142,11 @@ private function getVersionEndRequirement() {
           'Covered until @end_version',
           ['@end_version' => $this->securityCoverageInfo['security_coverage_end_version']]
         );
-        $requirement['severity'] = $this->securityCoverageInfo['additional_minors_coverage'] > 1 ? REQUIREMENT_INFO : REQUIREMENT_WARNING;
+        $requirement['severity'] = $this->securityCoverageInfo['additional_minors_coverage'] > 1 ? Requirements::SEVERITY_INFO : Requirements::SEVERITY_WARNING;
       }
       else {
         $requirement['value'] = $this->t('Coverage has ended');
-        $requirement['severity'] = REQUIREMENT_ERROR;
+        $requirement['severity'] = Requirements::SEVERITY_ERROR;
       }
     }
     return $requirement;
@@ -224,7 +225,7 @@ private function getDateEndRequirement() {
     if ($this->securityCoverageInfo['security_coverage_end_date'] <= $comparable_request_date) {
       // Security coverage is over.
       $requirement['value'] = $this->t('Coverage has ended');
-      $requirement['severity'] = REQUIREMENT_ERROR;
+      $requirement['severity'] = Requirements::SEVERITY_ERROR;
       $requirement['description']['coverage_message'] = [
         '#markup' => $this->getVersionNoSecurityCoverageMessage(),
         '#suffix' => ' ',
@@ -237,7 +238,7 @@ private function getDateEndRequirement() {
         ->format($security_coverage_end_timestamp, 'custom', $output_date_format);
       $translation_arguments = ['@date' => $formatted_end_date];
       $requirement['value'] = $this->t('Covered until @date', $translation_arguments);
-      $requirement['severity'] = REQUIREMENT_INFO;
+      $requirement['severity'] = Requirements::SEVERITY_INFO;
       // 'security_coverage_ending_warn_date' will always be in the format
       // 'Y-m-d'.
       $request_date = $date_formatter->format($time->getRequestTime(), 'custom', 'Y-m-d');
@@ -246,7 +247,7 @@ private function getDateEndRequirement() {
           '#markup' => $this->t('Update to a supported minor version soon to continue receiving security updates.'),
           '#suffix' => ' ',
         ];
-        $requirement['severity'] = REQUIREMENT_WARNING;
+        $requirement['severity'] = Requirements::SEVERITY_WARNING;
       }
     }
     $requirement['description']['release_cycle_link'] = ['#markup' => $this->getReleaseCycleLink()];
diff --git a/core/modules/update/update.fetch.inc b/core/modules/update/update.fetch.inc
index b418d9c..209d318 100644
--- a/core/modules/update/update.fetch.inc
+++ b/core/modules/update/update.fetch.inc
@@ -5,6 +5,7 @@
  * Code required only when fetching information about available updates.
  */
 
+use Drupal\Core\Requirements;
 use Drupal\update\UpdateManagerInterface;
 
 /**
@@ -25,7 +26,7 @@ function _update_cron_notify() {
   foreach (['core', 'contrib'] as $report_type) {
     $type = 'update_' . $report_type;
     if (isset($status[$type]['severity'])
-        && ($status[$type]['severity'] == REQUIREMENT_ERROR || ($notify_all && $status[$type]['reason'] == UpdateManagerInterface::NOT_CURRENT))) {
+        && ($status[$type]['severity'] == Requirements::SEVERITY_ERROR || ($notify_all && $status[$type]['reason'] == UpdateManagerInterface::NOT_CURRENT))) {
       $params[$report_type] = $status[$type]['reason'];
     }
   }
diff --git a/core/modules/update/update.install b/core/modules/update/update.install
index b9d6da9..db43a51 100644
--- a/core/modules/update/update.install
+++ b/core/modules/update/update.install
@@ -7,6 +7,7 @@
 
 use Drupal\Core\Link;
 use Drupal\Core\Url;
+use Drupal\Core\Requirements;
 use Drupal\update\ProjectSecurityData;
 use Drupal\update\ProjectSecurityRequirement;
 use Drupal\update\UpdateFetcherInterface;
@@ -64,7 +65,7 @@ function update_requirements($phase) {
     else {
       $requirements['update_core']['title'] = t('Drupal core update status');
       $requirements['update_core']['value'] = t('No update data available');
-      $requirements['update_core']['severity'] = REQUIREMENT_WARNING;
+      $requirements['update_core']['severity'] = Requirements::SEVERITY_WARNING;
       $requirements['update_core']['reason'] = UpdateFetcherInterface::UNKNOWN;
       $requirements['update_core']['description'] = _update_no_data();
     }
@@ -121,7 +122,7 @@ function _update_requirement_check($project, $type) {
   $status = $project['status'];
   if ($status != UpdateManagerInterface::CURRENT) {
     $requirement['reason'] = $status;
-    $requirement['severity'] = REQUIREMENT_ERROR;
+    $requirement['severity'] = Requirements::SEVERITY_ERROR;
     // When updates are available, append the available updates link to the
     // message from _update_message_text(), and format the two translated
     // strings together in a single paragraph.
@@ -147,14 +148,14 @@ function _update_requirement_check($project, $type) {
       break;
     case UpdateManagerInterface::NOT_CURRENT:
       $requirement_label = t('Out of date');
-      $requirement['severity'] = REQUIREMENT_WARNING;
+      $requirement['severity'] = Requirements::SEVERITY_WARNING;
       break;
     case UpdateFetcherInterface::UNKNOWN:
     case UpdateFetcherInterface::NOT_CHECKED:
     case UpdateFetcherInterface::NOT_FETCHED:
     case UpdateFetcherInterface::FETCH_PENDING:
       $requirement_label = isset($project['reason']) ? $project['reason'] : t('Can not determine status');
-      $requirement['severity'] = REQUIREMENT_WARNING;
+      $requirement['severity'] = Requirements::SEVERITY_WARNING;
       break;
     default:
       $requirement_label = t('Up to date');
diff --git a/core/modules/update/update.module b/core/modules/update/update.module
index b889c20..d188a5e 100644
--- a/core/modules/update/update.module
+++ b/core/modules/update/update.module
@@ -13,6 +13,7 @@
 
 use Drupal\Core\File\Exception\FileException;
 use Drupal\Core\Link;
+use Drupal\Core\Requirements;
 use Drupal\Core\Url;
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\Routing\RouteMatchInterface;
@@ -104,10 +105,10 @@ function update_page_top() {
       }
       if (!empty($verbose)) {
         if (isset($status[$type]['severity'])) {
-          if ($status[$type]['severity'] == REQUIREMENT_ERROR) {
+          if ($status[$type]['severity'] == Requirements::SEVERITY_ERROR) {
             \Drupal::messenger()->addError($status[$type]['description']);
           }
-          elseif ($status[$type]['severity'] == REQUIREMENT_WARNING) {
+          elseif ($status[$type]['severity'] == Requirements::SEVERITY_WARNING) {
             \Drupal::messenger()->addWarning($status[$type]['description']);
           }
         }
diff --git a/core/modules/workspaces/workspaces.install b/core/modules/workspaces/workspaces.install
index 7518560..97e5298 100644
--- a/core/modules/workspaces/workspaces.install
+++ b/core/modules/workspaces/workspaces.install
@@ -6,6 +6,7 @@
  */
 
 use Drupal\Core\Entity\EntityTypeInterface;
+use Drupal\Core\Requirements;
 use Drupal\workspaces\Entity\Workspace;
 
 /**
@@ -16,7 +17,7 @@ function workspaces_requirements($phase) {
   if ($phase === 'install') {
     if (\Drupal::moduleHandler()->moduleExists('workspace')) {
       $requirements['workspace_incompatibility'] = [
-        'severity' => REQUIREMENT_ERROR,
+        'severity' => Requirements::SEVERITY_ERROR,
         'description' => t('Workspaces can not be installed when the contributed Workspace module is also installed. See the <a href=":link">upgrade path</a> page for more information on how to upgrade.', [
           ':link' => 'https://www.drupal.org/node/2987783',
         ]),
diff --git a/core/profiles/demo_umami/demo_umami.install b/core/profiles/demo_umami/demo_umami.install
index 4137ca2..daa629a 100644
--- a/core/profiles/demo_umami/demo_umami.install
+++ b/core/profiles/demo_umami/demo_umami.install
@@ -5,6 +5,7 @@
  * Install, update and uninstall functions for the demo_umami installation profile.
  */
 
+use Drupal\Core\Requirements;
 use Drupal\user\Entity\User;
 use Drupal\shortcut\Entity\Shortcut;
 
@@ -20,7 +21,7 @@ function demo_umami_requirements($phase) {
       'title' => t('Experimental installation profile used'),
       'value' => $info['name'],
       'description' => t('Experimental profiles are provided for testing purposes only. Use at your own risk. To start building a new site, reinstall Drupal and choose a non-experimental profile.'),
-      'severity' => REQUIREMENT_WARNING,
+      'severity' => Requirements::SEVERITY_WARNING,
     ];
   }
   return $requirements;
diff --git a/core/profiles/testing_requirements/testing_requirements.install b/core/profiles/testing_requirements/testing_requirements.install
index f7935c1..e3469b9 100644
--- a/core/profiles/testing_requirements/testing_requirements.install
+++ b/core/profiles/testing_requirements/testing_requirements.install
@@ -5,6 +5,8 @@
  * Install hooks for test profile.
  */
 
+use Drupal\Core\Requirements;
+
 /**
  * Implements hook_requirements().
  */
@@ -14,7 +16,7 @@ function testing_requirements_requirements($phase) {
   if ($phase === 'install') {
     $requirements['testing_requirements'] = [
       'title' => t('Testing requirements'),
-      'severity' => REQUIREMENT_ERROR,
+      'severity' => Requirements::SEVERITY_ERROR,
       'description' => t('Testing requirements failed requirements.'),
     ];
   }
