;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Vídeo ensina sinal silencioso com a mão para denunciar violência doméstica

Vídeo da Canadian Women"s Foundation ensina sinal silencioso com a mão para denunciar violência doméstica - Reprodução/Instagram
Vídeo da Canadian Women's Foundation ensina sinal silencioso com a mão para denunciar violência doméstica Imagem: Reprodução/Instagram

De Universa, em São Paulo

11/06/2020 16h30Atualizada em 11/06/2020 16h32

Um vídeo divulgado pela Canadian Women's Foundation (CWF), que luta pela igualdade de gênero e empoderamento feminino no Canadá, quer ajudar mulheres a denunciar violência doméstica mesmo estando em casa, respeitando a quarentena. A ideia é disseminar um sinal silencioso com as mãos para que as vítimas possam falar dos abusos que sofre durante uma videoconferência, por exemplo.

"Os índices de violência de gênero estão aumentando no Canadá", alerta a fundação em seu perfil no Instagram. "#SignalForHelp ['sinal para ajuda', em tradução livre] é uma ferramenta que pode ser útil àquelas que sofrem violência e àqueles que querem ajudá-las", completa.

No vídeo, uma mulher conversa com outra por vídeo. Em dado momento, ela levanta a palma de uma das mãos, fecha o polegar (fazendo uma espécie de "4") e, em seguida, abaixa todos os dedos, ficando de punho fechado por alguns seguidos. Esse sinal indica que ela está sendo vítima de violência doméstica.

O perfil da CWF ainda aconselha as seguidoras a procurarem por informação sobre serviços que podem fornecer-lhes ajuda e e na comunidade canadense. "Desta forma, quando alguém nos pedir [ajuda], estaremos prontas para sugerir um serviço relevante", explica a fundação.

Violência no Brasil

Em tempos de coronavírus e, consequentemente, quarentena, o aumento dos casos de violência doméstica é uma preocupação em todos os países. No Brasil, dados do Fórum Brasileiro de Segurança Pública apontam que houve um aumento de 22% nos registros de casos de feminicídio durante a pandemia.

Pensando nisso, a membros do Judiciário e entidades da sociedade civil uniram forças para lançar a campanha "Sinal Vermelho" contra a violência doméstica. O objetivo é incentivar denúncias por meio de um símbolo: ao desenhar um "X" na mão e exibi-lo a um atendente da farmácia, a vítima poderá receber ajuda e acionar as autoridades.

"A vítima, muitas vezes, não consegue denunciar as agressões porque está sob constante vigilância", explicou Renata Gil, presidente da Associação dos Magistrados Brasileiros (AMB). "As vítimas normalmente têm vergonha, têm medo de morrer. A campanha é direcionada para todas as mulheres que possuem essa dificuldade de prestar queixa", completou.