• Suite 7/438 Forest Road Hurstville NSW 2220 AUSTRALIA
  • (+61) 2 95863111

Extract from the Human Rights Commission website: © Australian Human Rights Commission

ISSUE 8:
Door thresholds

Importance of the feature

Door thresholds (steps) at the entrances to businesses present access problems for people who use wheelchairs and those with ambulant disabilities who have difficulty lifting their feet whilst progressing along their path of travel. The application of step ramps or threshold ramps where there is a small change in level ensures a relatively comfortable access solution into these premises.

 

Where a step ramp is used, there must be a landing between the top of the ramp and the door so that a person using a wheelchair or walking frame, for example, has a flat surface on which to rest while opening the door. Trying to open a door while on a slope is for most people very difficult if not impossible.

An alternative to having a landing would be to have automatic doors or have the doors open at all times, which many businesses do.

Code requirements

The Building Code of Australia (BCA) D2.10(b)(1) and D3.3(c) are relevant to door sills where it refers to and requires compliance with AS1428.1.

AS 1428.1 specifies technical details such as dimensioning, and design criteria.

Good door sill
Photo 1

Photo 1shows a well designed and constructed door sill
(in this case there is an automatic door opener)

Achieving best results

To be effective step ramps and threshold ramps must be within the design criteria set out in AS1428.1. This is achieved by ensuring:

  • Gradients within the allowed limitations of no greater than 1 in 8.
  • Splayed or suitable side barriers.
  • Slip resistant surfaces

Tactile Ground Surface Indicators (TGSIs) are currently not required on step ramps under the BCA.

Common problems and misinterpretations

1. Door sills without required step/threshold ramps

Doors with sill step

Photo 2

Doors with sill step

Photo 3

Noncompliant step ramp

Photo 4

Noncompliant step ramp

Photo 5

Photos 2 and 3 show entries with sills that restrict access by people who use wheelchairs and some with mobility disabilities, who might, for example, use a walking frame.

Photo 4 shows a step ramp that does not comply with requirements as there is no landing at the top and there are closed doors. The landing is important to ensure that the required circulation space is available for people who use wheelchairs to be on a stable flat surface before opening the door.

Photo 5 shows a threshold ramp that has a small lip at the top and no suitable treatment at the sides of the ramp, note the corner of the projecting tiles that can be trip hazards.

Step ramp compliant

Photo 6

Step ramp compliant

Photo 7

Both step ramps in photos 6 and 7 are at entrances to businesses that leave their doors open throughout business hours. Although there is no landing before the door these premises have implemented an alternative solution.

Compliant step ramp
Photo 8

Photo 8 shows another example of an alternative solution as in this case the shop has an automatic door which removes the need for a landing.

Access Consultant's Journal

Attempted to load class "CliDumper" from namespace "Symfony\Component\VarDumper\Dumper". Did you forget a "use" statement for another namespace? (500 Whoops, looks like something went wrong.)

ClassNotFoundError

HTTP 500 Whoops, looks like something went wrong.

Attempted to load class "CliDumper" from namespace "Symfony\Component\VarDumper\Dumper".
Did you forget a "use" statement for another namespace?

Exception

Symfony\Component\ErrorHandler\Error\ ClassNotFoundError

  1.      * DataFormatter constructor.
  2.      */
  3.     public function __construct()
  4.     {
  5.         $this->cloner = new VarCloner();
  6.         $this->dumper = new CliDumper();
  7.     }
  8.     /**
  9.      * @param $data
  10.      * @return string
  1.      * @return DataFormatter
  2.      */
  3.     public static function getDefaultDataFormatter(): DataFormatter
  4.     {
  5.         if (self::$defaultDataFormatter === null) {
  6.             self::$defaultDataFormatter = new DataFormatter();
  7.         }
  8.         return self::$defaultDataFormatter;
  9.     }
AbstractDataCollector::getDefaultDataFormatter() in /home/sydneya1/public_html/plugins/system/debug/src/AbstractDataCollector.php (line 65)
  1.      * @return DataFormatter
  2.      */
  3.     public function getDataFormatter(): DataFormatter
  4.     {
  5.         if ($this->dataFormater === null) {
  6.             $this->dataFormater self::getDefaultDataFormatter();
  7.         }
  8.         return $this->dataFormater;
  9.     }
  1.                 $value '***redacted***';
  2.             });
  3.             foreach ($data as $key => $value) {
  4.                 $this->sessionData[$key] = $this->getDataFormatter()->formatVar($value);
  5.             }
  6.         }
  7.         return ['data' => $this->sessionData];
  8.     }
  1.     public function __construct($params$collect false)
  2.     {
  3.         parent::__construct($params);
  4.         if ($collect) {
  5.             $this->collect();
  6.         }
  7.     }
  8.     /**
  9.      * Called by the DebugBar when data needs to be collected
SessionCollector->__construct(object(Registry), true) in /home/sydneya1/public_html/plugins/system/debug/src/Extension/Debug.php (line 299)
  1.             if ($this->params->get('request'1)) {
  2.                 $this->debugBar->addCollector(new RequestDataCollector());
  3.             }
  4.             if ($this->params->get('session'1)) {
  5.                 $this->debugBar->addCollector(new SessionCollector($this->paramstrue));
  6.             }
  7.             if ($this->params->get('profile'1)) {
  8.                 $this->debugBar->addCollector((new ProfileCollector($this->params))->setRequestEndTime($endTime));
  9.             }
  1.             foreach ($this->listeners[$event->getName()] as $listener) {
  2.                 if ($event->isStopped()) {
  3.                     return $event;
  4.                 }
  5.                 $listener($event);
  6.             }
  7.         }
  8.         return $event;
  9.     }
  1.             $dispatcher $this->getDispatcher();
  2.         } catch (\UnexpectedValueException $exception) {
  3.             return null;
  4.         }
  5.         return $dispatcher->dispatch($eventName$event ?: new ApplicationEvent($eventName$this));
  6.     }
  7.     /**
  8.      * Method to run the application routines.
  9.      *
AbstractApplication->dispatchEvent('onAfterRespond', object(AfterRespondEvent)) in /home/sydneya1/public_html/libraries/src/Application/CMSApplication.php (line 349)
  1.         // Send the application response.
  2.         $this->respond();
  3.         // Trigger the onAfterRespond event.
  4.         $this->dispatchEvent(
  5.             'onAfterRespond',
  6.             new AfterRespondEvent('onAfterRespond', ['subject' => $this])
  7.         );
  8.     }
CMSApplication->execute() in /home/sydneya1/public_html/includes/app.php (line 58)
  1. // Set the application as global app
  2. \Joomla\CMS\Factory::$application $app;
  3. // Execute the application.
  4. $app->execute();
require_once('/home/sydneya1/public_html/includes/app.php') in /home/sydneya1/public_html/index.php (line 284)
  1.  * define() is used rather than "const" to not error for PHP 5.2 and lower
  2.  */
  3. define('_JEXEC'1);
  4. // Run the application - All executable code should be triggered through this file
  5. require_once dirname(__FILE__) . '/includes/app.php';

Stack Trace

ClassNotFoundError
Symfony\Component\ErrorHandler\Error\ClassNotFoundError:
Attempted to load class "CliDumper" from namespace "Symfony\Component\VarDumper\Dumper".
Did you forget a "use" statement for another namespace?

  at /home/sydneya1/public_html/libraries/vendor/maximebf/debugbar/src/DebugBar/DataFormatter/DataFormatter.php:28
  at DebugBar\DataFormatter\DataFormatter->__construct()
     (/home/sydneya1/public_html/plugins/system/debug/src/AbstractDataCollector.php:80)
  at Joomla\Plugin\System\Debug\AbstractDataCollector::getDefaultDataFormatter()
     (/home/sydneya1/public_html/plugins/system/debug/src/AbstractDataCollector.php:65)
  at Joomla\Plugin\System\Debug\AbstractDataCollector->getDataFormatter()
     (/home/sydneya1/public_html/plugins/system/debug/src/DataCollector/SessionCollector.php:87)
  at Joomla\Plugin\System\Debug\DataCollector\SessionCollector->collect()
     (/home/sydneya1/public_html/plugins/system/debug/src/DataCollector/SessionCollector.php:58)
  at Joomla\Plugin\System\Debug\DataCollector\SessionCollector->__construct(object(Registry), true)
     (/home/sydneya1/public_html/plugins/system/debug/src/Extension/Debug.php:299)
  at Joomla\Plugin\System\Debug\Extension\Debug->onAfterRespond(object(AfterRespondEvent))
     (/home/sydneya1/public_html/libraries/vendor/joomla/event/src/Dispatcher.php:454)
  at Joomla\Event\Dispatcher->dispatch('onAfterRespond', object(AfterRespondEvent))
     (/home/sydneya1/public_html/libraries/vendor/joomla/application/src/AbstractApplication.php:99)
  at Joomla\Application\AbstractApplication->dispatchEvent('onAfterRespond', object(AfterRespondEvent))
     (/home/sydneya1/public_html/libraries/src/Application/CMSApplication.php:349)
  at Joomla\CMS\Application\CMSApplication->execute()
     (/home/sydneya1/public_html/includes/app.php:58)
  at require_once('/home/sydneya1/public_html/includes/app.php')
     (/home/sydneya1/public_html/index.php:284)