Tactile defensiveness: how to do sensory enriched touch?

Tactile defensiveness: how to do sensory enriched touch



Have you ever wondered why Sensory Enrichment Therapy uses the senses of touch and smell in so many of its exercises in so many of its exercises? The reason is simple: Studies have shown that when soft, pleasant touch is combined with smell, it helps increase the plasticity of the brain and its ability to compensate for damage and various dysfunctions.

Tactile defensiveness

The challenge with presenting soft touch experiences to individuals with neurological deficits, however, is that they often have difficulties processing sensory inputs, including the sense of touch.

Tactile defensiveness (TD) is a label used to describe negative and out of proportion behaviors in response to certain types of touch experiences that most people tolerate and even enjoy. [1–4]

sensory issues in toddlers with socks

A recent study showed that the cause of these negative and out of proportion behaviors is abnormal patterns of white matter growth were discovered in the brains of individuals with Autism Spectrum Disorder (ASD). The study further explained that the abnormal patterns of white matter growth cause the normal tactile inputs to be re-routed towards the sensory cortex area that processes pain making soft touch a rarely pleasurable experience for individuals with ASD [5]. Instead, individuals with autism often prefer and seek out deep pressure and tight squeezes. These preferences are the result of a deficit in the tactile processing system. [6–9]

New sensory modality to accelerate the recovery of your clients.

In another study, published in 2015 [10], scientists explain that soft touch sensations applied between the wrist and the elbow of a person’s forearm are processed by the prefrontal cortex (responsible for social awareness) and amygdala (responsible for emotion control), whereas sensory input to the palm of the hand is processed by the parietal lobe (responsible for the identification of texture and temperature). Consequently, soft touch on the forearm evokes an individual’s awareness of others and promotes emotional control.

In autism, where social skills are usually underdeveloped, those soft touches on the forearm do not elicit activation in the same way as neurotypical individuals and they do not have a social significance.

It is important for children with autism to develop a functional level of tactile processing so that they can gain a greater understanding of social awareness and emotional control associated with soft touch.

Two enrichment strategies to use with individuals with tactile defensiveness

Strategy 1: Active vs. passive touch

Mendability offers many Sensory Enrichment Therapy protocols that help rehabilitate the sense of touch. The good news is that while children with autism may sometimes fight a soft cuddle, they will have no problem looking for a desired toy hidden in a bowl of raw rice, or manipulating a textured ball.

In this mode, instead of touching the recipient, you invite the recipient to touch and explore different textures.

Sample Sensory Enrichment Game - Smell and Feel 4 Textures

Using the natural curiosity of an individual, Mendability elaborates activities which will help restore proper communication between the receptors on the skin and their final destinations in the cortex.

Many parents report that after only weeks of participating in the therapy, their autistic child tolerates haircuts, teeth brushing, dressing, and even accepts new foods that were previously rejected because of their textures. This also works for adults who have lived their whole lives avoiding and dreading certain tactile experiences.

New sensory modality to accelerate the recovery of your clients.

Strategy 2: Progressive stimulation

When we look at the map of the brain, we can see that there are typically more connections to deal with the hands, lips, and face. Understanding this sensory mapping helps us design effective enrichment protocols. For example, when working on rehabilitating the sense of touch we know where to start. We know we can predictably rely on most individuals to be comfortable with tactile stimulation around the hands.

With Sensory Enrichment Therapy, for a few minutes each day, you can softly touch the child’s fingertips while offering a pleasant scent to smell. When the child is comfortable with the fingertips, move on to the palms of the hands and soles of the feet, then gradually progress to the person’s arm, back, neck, or head.

Occupational therapy activities - sensory processing - spd

You could, for example, run the tip of a pencil around the palm of the person’s hand and then along each finger. You could also try playing a painting game by taking a paint brush and pretending to dab the brush on your shirt to pick up the color. Once the color is ‘picked up’ from your shirt, you can then pretend to paint a stroke of that color somewhere on the recipient’s hand, or forehead (depending on where the person is comfortable).

With regular exposure and experience, the child develops a real enjoyment of the process, a stronger connection with parents, and a feeling of relaxation. This protocol can rapidly become one of the child’s favorite experiences. [11]

In the case of touch, Sensory Enrichment Therapy aims at rehabilitating the processing of soft touch, rather than de-sensitizing [12] it as is widely prescribed currently. Once rehabilitated, touch can be used for many other therapeutic purposes.


The sense of touch plays a vital role in therapy. When combined with smell, it helps increase the plasticity of the brain and its ability to compensate for damage and various dysfunctions.

Be attentive to the therapy recipient’s preferences and let them lead you. It may take a few days of exploring before you can identify the best way and the best place to do the tactile protocols.

In this article, we reviewed strategies that help individuals with tactile defensiveness so that they can also implement soft touch exercises, and reap the benefits of an increase in brain plasticity and improved brain function.


  1. Chu S. Tactile Defensiveness – Information for Parents and Professionals. In: Dyspraxia Foundation [Internet]. Oct 2013 [cited 15 Feb 2017]. Available: http://dyspraxiafoundation.org.uk/wp-content/uploads/2013/10/Tactile_Defensiveness.pdf
  2. Royeen CB. Domain specifications of the construct tactile defensiveness. Am J Occup Ther. 1985;39: 596–599.
  3. Edgington L, Hill V, Pellicano E. The design and implementation of a CBT-based intervention for sensory processing difficulties in adolescents on the autism spectrum. Res Dev Disabil. 2016;59: 221–233.
  4. Grandin T. My Experiences with Visual Thinking Sensory Problems and Communication Difficulties. 1996.
  5. Schauder KB, Muller CL, Veenstra-VanderWeele J, Cascio CJ. Genetic Variation in Serotonin Transporter Modulates Tactile Hyperresponsiveness in ASD. Res Autism Spectr Disord. 2015;10: 93–100.
  6. Güçlü B, Burak G, Canan T, Mukaddes NM, Fatih Ü. Tactile sensitivity of normal and autistic children. Somatosens Mot Res. 2007;24: 21–33.
  7. Ackerley R, Carlsson I, Wester H, Olausson H, Backlund Wasling H. Touch perceptions across skin sites: differences between sensitivity, direction discrimination and pleasantness. Front Behav Neurosci. 2014;8: 54.
  8. Kaiser MD, Yang DY-J, Voos AC, Bennett RH, Gordon I, Pretzsch C, et al. Brain Mechanisms for Processing Affective (and Nonaffective) Touch Are Atypical in Autism. Cereb Cortex. 2016;26: 2705–2714.
  9. Güçlü B, Tanidir C, Mukaddes NM, Unal F. Tactile sensitivity of normal and autistic children. Somatosens Mot Res. 2007;24: 21–33.
  10. Kaiser MD, Yang DY-J, Voos AC, Bennett RH, Gordon I, Pretzsch C, et al. Brain Mechanisms for Processing Affective (and Nonaffective) Touch Are Atypical in Autism. Cereb Cortex. 2015; doi:10.1093/cercor/bhv125
  11. Rangel S, Leon M. Early odor preference training increases olfactory bulb norepinephrine. Brain Res Dev Brain Res. 1995;85: 187–191.
  12. Weeks, Boshoff, Stewart. Systematic review of the effectiveness of the Wilbarger protocol with children. PHMT. 2012; 79.
  13. Rakic P. Neurogenesis in adult primate neocortex: an evaluation of the evidence. Nat Rev Neurosci. 2002;3: 65–71.
  14. Laviola G, Hannan AJ, Macrì S, Solinas M, Jaber M. Effects of enriched environment on animal models of neurodegenerative diseases and psychiatric disorders. Neurobiol Dis. 2008;31: 159–168.
  15. Nithianantharajah J, Hannan AJ. Enriched environments, experience-dependent plasticity and disorders of the nervous system. Nat Rev Neurosci. 2006;7: 697–709.
  16. Pang TYC, Hannan AJ. Enhancement of cognitive function in models of brain disease through environmental enrichment and physical activity. Neuropharmacology. 2013;64: 515–528.
  17. Kerr B, Bredford K, Silva PA, Katherina W, Young JI. Unconventional Transcriptional Response to Environmental Enrichment in a Mouse Model of Rett Syndrome. PLoS One. 2010;5: e11534.
  18. Schneider T, Przewłocki R. Behavioral alterations in rats prenatally exposed to valproic acid: animal model of autism. Neuropsychopharmacology. 2005;30: 80–89.
  19. Jones TA, Greenough WT. Ultrastructural Evidence for Increased Contact between Astrocytes and Synapses in Rats Reared in a Complex Environment. Neurobiol Learn Mem. 1996;65: 48–56.
  20. Sirevaag AM, Greenough WT. Differential rearing effects on rat visual cortex synapses. III. Neuronal and glial nuclei, boutons, dendrites, and capillaries. Brain Res. 1987;424: 320–332.
  21. Borowsky IW, Collins RC. Metabolic anatomy of brain: A comparison of regional capillary density, glucose metabolism, and enzyme activities. J Comp Neurol. 1989;288: 401–413.
  22. Rosenzweig MR, Krech D, Bennett EL, Diamond MC. Effects of environmental complexity and training on brain chemistry and anatomy: a replication and extension. J Comp Physiol Psychol. 1962;55: 429–437.
  23. Krech D, Rosenzweig MR, Bennett EL. Effects of environmental complexity and training on brain chemistry. J Comp Physiol Psychol. 1960;53: 509–519.
  25. Diamond MC, David K, Rosenzweig MR. The effects of an enriched environment on the histology of the rat cerebral cortex. J Comp Neurol. 1964;123: 111–119.
  26. Coopersmith R, Leon M. Enhanced neural response to familiar olfactory cues. Science. 1984;225: 849–851.
  27. Rangel S, Leon M. Early odor preference training increases olfactory bulb norepinephrine. Brain Res Dev Brain Res. 1995;85: 187–191.
  28. Sullivan RM, Wilson DA, Leon M. Norepinephrine and learning-induced plasticity in infant rat olfactory system. J Neurosci. 1989;9: 3998–4006.
  29. Wilson DA, Sullivan RM, Leon M. Single-unit analysis of postnatal olfactory learning: modified olfactory bulb output response patterns to learned attractive odors. J Neurosci. 1987;7: 3154–3162.
  30. Woo CC, Michael L. Increase in a focal population of juxtaglomerular cells in the olfactory bulb associated with early learning. J Comp Neurol. 1991;305: 49–56.
  31. Woo CC, Coopersmith R, Leon M. Localized changes in olfactory bulb morphology associated with early olfactory learning. J Comp Neurol. 1987;263: 113–125.
  32. Bouslama M, Myriam B, Estelle D, Laetitia C, Van den Bergh O, Jorge G. Olfactory classical conditioning in newborn mice. Behav Brain Res. 2005;161: 102–106.
  33. Plotsky PM, Meaney MJ. Early, postnatal experience alters hypothalamic corticotropin-releasing factor (CRF) mRNA, median eminence CRF content and stress-induced release in adult rats. Brain Res Mol Brain Res. 1993;18: 195–200.

<img class=”alignnone size-full wp-image-38467″ src=”https://www.mendability.com/wp-content/uploads/Sensory-Enrichment-Therapy-Newsletter-1.jpg” alt=”Sensory Enrichment Therapy Free Newsletter” width=”1280″ height=”763″ />

Twice a month or so, we send out research articles, sample protocols to try, videos, all to learn more about Sensory Enrichment Therapy.

Our newsletter is also the best way to stay in touch and be notified of training workshops and other events.

<form id=”_form_1091_” class=”_form _form_1091 _inline-form _dark” action=”https://mendability.activehosted.com/proc.php” method=”POST” novalidate=””><input name=”u” type=”hidden” value=”1091″ data-name=”u” /><input name=”f” type=”hidden” value=”1091″ data-name=”f” /><input name=”s” type=”hidden” data-name=”s” /><input name=”c” type=”hidden” value=”0″ data-name=”c” /><input name=”m” type=”hidden” value=”0″ data-name=”m” /><input name=”act” type=”hidden” value=”sub” data-name=”act” /><input name=”v” type=”hidden” value=”2″ data-name=”v” />
<div class=”_form-content”>
<div class=”_form_element _x00914919 _full_width “>

<label class=”_form-label”>Name</label>
<div class=”_field-wrapper”><input name=”fullname” type=”text” placeholder=”” data-name=”fullname” /></div>
<div class=”_form_element _x97386044 _full_width “>

<label class=”_form-label”>Email*</label>
<div class=”_field-wrapper”><input name=”email” required=”” type=”text” placeholder=”” data-name=”email” /></div>
<div class=”_button-wrapper _full_width”><button id=”_form_1091_submit” class=”_submit” type=”submit”>Subscribe</button></div>
<div class=”_clear-element”></div>
<div class=”_form-thank-you” style=”display: none;”></div>
</form><script type=”text/javascript”>
window.cfields = [];
window._show_thank_you = function(id, message, trackcmp_url) {
var form = document.getElementById(‘_form_’ + id + ‘_’), thank_you = form.querySelector(‘._form-thank-you’);
form.querySelector(‘._form-content’).style.display = ‘none’;
thank_you.innerHTML = message;
thank_you.style.display = ‘block’;
if (typeof(trackcmp_url) != ‘undefined’ && trackcmp_url) {
// Site tracking URL to use after inline form submission.
if (typeof window._form_callback !== ‘undefined’) window._form_callback(id);
window._show_error = function(id, message, html) {
var form = document.getElementById(‘_form_’ + id + ‘_’), err = document.createElement(‘div’), button = form.querySelector(‘button’), old_error = form.querySelector(‘._form_error’);
if (old_error) old_error.parentNode.removeChild(old_error);
err.innerHTML = message;
err.className = ‘_error-inner _form_error _no_arrow’;
var wrapper = document.createElement(‘div’);
wrapper.className = ‘_form-inner’;
button.parentNode.insertBefore(wrapper, button);
document.querySelector(‘[id^=”_form”][id$=”_submit”]’).disabled = false;
if (html) {
var div = document.createElement(‘div’);
div.className = ‘_error-html’;
div.innerHTML = html;
window._load_script = function(url, callback) {
var head = document.querySelector(‘head’), script = document.createElement(‘script’), r = false;
script.type = ‘text/javascript’;
script.charset = ‘utf-8’;
script.src = url;
if (callback) {
script.onload = script.onreadystatechange = function() {
if (!r && (!this.readyState || this.readyState == ‘complete’)) {
r = true;
(function() {
if (window.location.search.search(“excludeform”) !== -1) return false;
var getCookie = function(name) {
var match = document.cookie.match(new RegExp(‘(^|; )’ + name + ‘=([^;]+)’));
return match ? match[2] : null;
var setCookie = function(name, value) {
var now = new Date();
var time = now.getTime();
var expireTime = time + 1000 * 60 * 60 * 24 * 365;
document.cookie = name + ‘=’ + value + ‘; expires=’ + now + ‘;path=/’;
var addEvent = function(element, event, func) {
if (element.addEventListener) {
element.addEventListener(event, func);
} else {
var oldFunc = element[‘on’ + event];
element[‘on’ + event] = function() {
oldFunc.apply(this, arguments);
func.apply(this, arguments);
var _removed = false;
var form_to_submit = document.getElementById(‘_form_1091_’);
var allInputs = form_to_submit.querySelectorAll(‘input, select, textarea’), tooltips = [], submitted = false;
var getUrlParam = function(name) {
var regexStr = ‘[\?&]’ + name + ‘=([^&#]*)’;
var results = new RegExp(regexStr, ‘i’).exec(window.location.href);
return results != undefined ? decodeURIComponent(results[1]) : false;
for (var i = 0; i < allInputs.length; i++) {
var regexStr = “field\\[(\\d+)\\]”;
var results = new RegExp(regexStr).exec(allInputs[i].name);
if (results != undefined) {
allInputs[i].dataset.name = window.cfields[results[1]];
} else {
allInputs[i].dataset.name = allInputs[i].name;
var fieldVal = getUrlParam(allInputs[i].dataset.name);
if (fieldVal) {
if (allInputs[i].type == “radio” || allInputs[i].type == “checkbox”) {
if (allInputs[i].value == fieldVal) {
allInputs[i].checked = true;
} else {
allInputs[i].value = fieldVal;
var remove_tooltips = function() {
for (var i = 0; i < tooltips.length; i++) {
tooltips = [];
var remove_tooltip = function(elem) {
for (var i = 0; i < tooltips.length; i++) {
if (tooltips[i].elem === elem) {
tooltips.splice(i, 1);
var create_tooltip = function(elem, text) {
var tooltip = document.createElement(‘div’), arrow = document.createElement(‘div’), inner = document.createElement(‘div’), new_tooltip = {};
if (elem.type != ‘radio’ && elem.type != ‘checkbox’) {
tooltip.className = ‘_error’;
arrow.className = ‘_error-arrow’;
inner.className = ‘_error-inner’;
inner.innerHTML = text;
} else {
tooltip.className = ‘_error-inner _no_arrow’;
tooltip.innerHTML = text;
elem.parentNode.insertBefore(tooltip, elem);
new_tooltip.no_arrow = true;
new_tooltip.tip = tooltip;
new_tooltip.elem = elem;
return new_tooltip;
var resize_tooltip = function(tooltip) {
var rect = tooltip.elem.getBoundingClientRect();
var doc = document.documentElement, scrollPosition = rect.top – ((window.pageYOffset || doc.scrollTop) – (doc.clientTop || 0));
if (scrollPosition < 40) {
tooltip.tip.className = tooltip.tip.className.replace(/ ?(_above|_below) ?/g, ”) + ‘ _below’;
} else {
tooltip.tip.className = tooltip.tip.className.replace(/ ?(_above|_below) ?/g, ”) + ‘ _above’;
var resize_tooltips = function() {
if (_removed) return;
for (var i = 0; i < tooltips.length; i++) {
if (!tooltips[i].no_arrow) resize_tooltip(tooltips[i]);
var validate_field = function(elem, remove) {
var tooltip = null, value = elem.value, no_error = true;
remove ? remove_tooltip(elem) : false;
if (elem.type != ‘checkbox’) elem.className = elem.className.replace(/ ?_has_error ?/g, ”);
if (elem.getAttribute(‘required’) !== null) {
if (elem.type == ‘radio’ || (elem.type == ‘checkbox’ && /any/.test(elem.className))) {
var elems = form_to_submit.elements[elem.name];
if (!(elems instanceof NodeList || elems instanceof HTMLCollection) || elems.length <= 1) {
no_error = elem.checked;
else {
no_error = false;
for (var i = 0; i < elems.length; i++) {
if (elems[i].checked) no_error = true;
if (!no_error) {
tooltip = create_tooltip(elem, “Please select an option.”);
} else if (elem.type ==’checkbox’) {
var elems = form_to_submit.elements[elem.name], found = false, err = [];
no_error = true;
for (var i = 0; i < elems.length; i++) {
if (elems[i].getAttribute(‘required’) === null) continue;
if (!found && elems[i] !== elem) return true;
found = true;
elems[i].className = elems[i].className.replace(/ ?_has_error ?/g, ”);
if (!elems[i].checked) {
no_error = false;
elems[i].className = elems[i].className + ‘ _has_error’;
err.push(“Checking %s is required”.replace(“%s”, elems[i].value));
if (!no_error) {
tooltip = create_tooltip(elem, err.join(‘<br/>’));
} else if (elem.tagName == ‘SELECT’) {
var selected = true;
if (elem.multiple) {
selected = false;
for (var i = 0; i < elem.options.length; i++) {
if (elem.options[i].selected) {
selected = true;
} else {
for (var i = 0; i < elem.options.length; i++) {
if (elem.options[i].selected && !elem.options[i].value) {
selected = false;
if (!selected) {
elem.className = elem.className + ‘ _has_error’;
no_error = false;
tooltip = create_tooltip(elem, “Please select an option.”);
} else if (value === undefined || value === null || value === ”) {
elem.className = elem.className + ‘ _has_error’;
no_error = false;
tooltip = create_tooltip(elem, “This field is required.”);
if (no_error && elem.name == ’email’) {
if (!value.match(/^[\+_a-z0-9-‘&=]+(\.[\+_a-z0-9-‘]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/i)) {
elem.className = elem.className + ‘ _has_error’;
no_error = false;
tooltip = create_tooltip(elem, “Enter a valid email address.”);
if (no_error && /date_field/.test(elem.className)) {
if (!value.match(/^\d\d\d\d-\d\d-\d\d$/)) {
elem.className = elem.className + ‘ _has_error’;
no_error = false;
tooltip = create_tooltip(elem, “Enter a valid date.”);
tooltip ? resize_tooltip(tooltip) : false;
return no_error;
var needs_validate = function(el) {
return el.name == ’email’ || el.getAttribute(‘required’) !== null;
var validate_form = function(e) {
var err = form_to_submit.querySelector(‘._form_error’), no_error = true;
if (!submitted) {
submitted = true;
for (var i = 0, len = allInputs.length; i < len; i++) {
var input = allInputs[i];
if (needs_validate(input)) {
if (input.type == ‘text’) {
addEvent(input, ‘blur’, function() {
this.value = this.value.trim();
validate_field(this, true);
addEvent(input, ‘input’, function() {
validate_field(this, true);
} else if (input.type == ‘radio’ || input.type == ‘checkbox’) {
(function(el) {
var radios = form_to_submit.elements[el.name];
for (var i = 0; i < radios.length; i++) {
addEvent(radios[i], ‘click’, function() {
validate_field(el, true);
} else if (input.tagName == ‘SELECT’) {
addEvent(input, ‘change’, function() {
validate_field(this, true);
for (var i = 0, len = allInputs.length; i < len; i++) {
var elem = allInputs[i];
if (needs_validate(elem)) {
if (elem.tagName.toLowerCase() !== “select”) {
elem.value = elem.value.trim();
validate_field(elem) ? true : no_error = false;
if (!no_error && e) {
return no_error;
addEvent(window, ‘resize’, resize_tooltips);
addEvent(window, ‘scroll’, resize_tooltips);
window._old_serialize = null;
if (typeof serialize !== ‘undefined’) window._old_serialize = window.serialize;
_load_script(“//d3rxaij56vjege.cloudfront.net/form-serialize/0.3/serialize.min.js”, function() {
window._form_serialize = window.serialize;
if (window._old_serialize) window.serialize = window._old_serialize;
var form_submit = function(e) {
if (validate_form()) {
// use this trick to get the submit button & disable it using plain javascript
document.querySelector(‘[id^=”_form”][id$=”_submit”]’).disabled = true;
var serialized = _form_serialize(document.getElementById(‘_form_1091_’));
var err = form_to_submit.querySelector(‘._form_error’);
err ? err.parentNode.removeChild(err) : false;
_load_script(‘https://mendability.activehosted.com/proc.php?’ + serialized + ‘&jsonp=true’);
return false;
addEvent(form_to_submit, ‘submit’, form_submit);
<div class=”flex_column av_one_third flex_column_table_cell av-equal-height-column av-align-top av-zero-column-padding avia-builder-el-98 el_after_av_one_third el_before_av_one_third “><section class=”av_textblock_section “>
<div class=”avia_textblock “>

<em>Your email is safe with us. It is protected under the terms of our <a href=”https://www.mendability.com/privacy-policy/”>Privacy Policy</a>.</em>