;(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

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

Transfobia no limite: por que prostituição não é "questão de escolha"

Ariadna Arantes (à esq.) e Íris Stefanelli discutiram sobre prostituição no "No Limite" (Globo) - Reprodução/Globoplay
Ariadna Arantes (à esq.) e Íris Stefanelli discutiram sobre prostituição no "No Limite" (Globo) Imagem: Reprodução/Globoplay
Giovanna Heliodoro, @transpreta

Especial para Universa

20/05/2021 04h00

O episódio desta semana do reality "No Limite" (Globo) trouxe em pauta uma discussão muito necessária sobre a vivência de pessoas trans e travestis. Por meio de uma conversa entre as participantes Ariadna Arantes e Íris Stefanelli, abriu-se a discussão: trabalhar com prostituição é uma escolha?

Conhecida por ter sido a única participante trans da história do "Big Brother Brasil", Ariadna revelou que teve de se prostituir no começo da vida adulta por falta de oportunidades de emprego. Discordando dessa afirmação, Iris julgou a outra participante ao dizer que ela teve sim outras opções além do trabalho sexual.

A partir dessa discussão, Ariadna deu então uma aula em TV aberta proporcionando oportunidade para muitos espectadores conhecerem mais sobre a realidade de travestis e transexuais no Brasil.

Ariadna: "Só o fato de ser mulher trans já me tira todos os privilégios"

Atualmente, o Brasil é considerado o país que mais assassina pessoas transgênero no mundo inteiro e contraditoriamente é também o país que mais consome pornografia trans e travesti, segundo dados do RedTube. Essas informações nos ajudam a compreender o paradoxo que existe entre a violência, o fetiche e exclusão que Ariadna vivenciou ao longo da sua história.

Segundo levantamento da Antra (Associação Nacional de Travestis e Transexuais), 90% da população trans no Brasil tem a prostituição como fonte de renda e única possibilidade de subsistência.

A subordinação dessa população ao trabalho sexual é resultado de um longo processo de exclusão social que se se inicia na expulsão da família, pera pela evasão escolar e consequentemente implica a exclusão do mercado de trabalho formal.

A fala de Ariadna no "No Limite" representa a realidade de boa parte da população trans. Afinal, a prostituição não é uma questão de escolha, mas sim uma consequência de todo esse processo de exclusão social que vivemos.
E é impossível negar essa afirmação, basta você se questionar:

Com quantas pessoas trans você trabalhou nos últimos anos?
Quantas pessoas trans que você conhece ocupam cargos nas principais empresas do país? Quantas pessoas trans você tem como referência de carreira no mercado de trabalho?

* Giovanna Heliodoro é historiadora, afrotransfeminista e produtora do Festival TransViva! Integra a ONG EQUI articulando ações acerca da inclusão de diversidade no mercado de trabalho. É produtora de conteúdo do perfil @transpreta e autora do livro "Raízes - Resistência Histórica" (ed. Venas Abiertas)