Capacidades de mídia e dispositivos do navegador

Demonstração de operação de área de transferência do kit de ferramentas de áudio

Demonstração de operação da área de transferência no cenário do kit de ferramentas de áudio: inclui conteúdo real, controles acionáveis, feedback de status claro e layout responsivo a diferentes tamanhos.

Capacidades de mídia e dispositivos do navegadorDemonstração de operações da área de transferênciaHTMLCSSBrowser API
Este exemplo requer permissões de recursos do navegador. Mantenha o “isolamento de execução” desativado e acione-o com um clique seu; se a autorização for negada ou não houver suporte, um estado de fallback será exibido.
É possível editar, executar e salvar este exemplo após ativar JavaScript. O código-fonte fixo é o seguinte:
<!doctype html>
<html lang="pt-BR" dir="ltr">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Demonstração de operação de área de transferência do kit de ferramentas de áudio</title>
  <style>
    :root { --ink:#102c44; --paper:#eef6f8; --accent:#e05263; --secondary:#79b7c7; --line:color-mix(in srgb, var(--ink) 18%, transparent); --shadow:0 24px 60px color-mix(in srgb, var(--ink) 16%, transparent); color-scheme:light; }
    * { box-sizing:border-box; }
    html { min-width:320px; background:var(--paper); }
    body { min-height:100vh; margin:0; overflow-x:hidden; color:var(--ink); font-family:Didot,"Songti SC",serif; background:linear-gradient(30deg,transparent 48%,color-mix(in srgb,var(--accent) 9%,transparent) 49% 51%,transparent 52%),var(--paper);background-size:52px 90px; }
    button,input,select,textarea { color:inherit; font:inherit; }
    button,[role="button"],input,select,textarea { accent-color:var(--accent); }
    button { cursor:pointer; }
    button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
    [hidden] { display:none !important; }
    @media (max-width:700px) { .mast h1 { line-height:1.08 !important; letter-spacing:-.035em !important; overflow-wrap:anywhere; } }
    @media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; } }
    .page{width:min(1040px,calc(100% - 36px));margin:auto;padding:64px 0}.mast{display:grid;justify-items:center;text-align:center;border-block:3px double var(--accent);padding:26px;gap:20px;margin-bottom:32px}.mast h1{font-family:Didot,"Songti SC",serif;font-weight:700;font-size:clamp(38px,8vw,86px);letter-spacing:.035em;margin:0;line-height:1}.eyebrow{display:block;color:var(--accent);font:800 11px/1 ui-monospace,monospace;letter-spacing:.3em}.intro{max-width:600px;margin-inline:auto;line-height:1.8}.scenario{padding:8px 26px;border-inline:1px solid var(--accent);letter-spacing:.16em}.demo{border:4px double var(--accent);border-radius:0;clip-path:polygon(24px 0,calc(100% - 24px) 0,100% 24px,100% calc(100% - 24px),calc(100% - 24px) 100%,24px 100%,0 calc(100% - 24px),0 24px);position:relative;min-height:440px;overflow:hidden;padding:clamp(28px,5vw,60px);background:var(--paper)}@media(max-width:700px){.page{width:calc(100% - 20px);padding:24px 0}.mast{padding:18px}.demo{padding:18px}}
    .panel{padding:24px;border-block:1px solid var(--ink);background:transparent}.stack{display:grid;gap:22px}.row{display:flex;flex-wrap:wrap;gap:16px}.action{padding:8px 0;border:0;border-bottom:1px solid currentColor;background:transparent;letter-spacing:.08em}.action.primary,.action.is-active{color:var(--accent);border-bottom-width:4px}.status{min-height:28px;margin-top:20px;font-style:italic}.metric{font-family:Didot,serif;font-size:clamp(38px,8vw,76px)}.muted{max-width:54ch;line-height:1.8}.meter{position:relative;height:3px;background:var(--line)}.meter>i{position:absolute;inset:0 auto 0 0;background:var(--accent)}.chip{padding-bottom:3px;border-bottom:1px solid var(--ink);font-size:13px}
    .composition-deck{display:grid;grid-template-rows:auto 1fr;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:color-mix(in srgb,var(--ink) 4%,var(--paper))}.deck-bar{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:12px 18px;color:var(--paper);background:var(--ink);font:700 12px/1 ui-monospace,monospace}.deck-lights{display:flex;gap:7px}.deck-lights i{width:10px;height:10px;border-radius:50%;background:var(--accent)}.deck-lights i:nth-child(2){background:var(--secondary)}.deck-lights i:nth-child(3){background:color-mix(in srgb,var(--paper) 55%,transparent)}.composition-deck .demo{border:0;border-radius:0;box-shadow:none}
    .clipboard-desk{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(190px,.7fr);gap:16px;padding:clamp(20px,5vw,46px);border:1px solid var(--line);border-radius:30px 4px 30px 4px;background:linear-gradient(145deg,var(--paper),color-mix(in srgb,var(--secondary) 18%,var(--paper)))}.clipboard-desk>header{grid-column:1/-1;display:flex;justify-content:space-between;gap:18px;align-items:end}.clipboard-desk h2{margin:.2em 0}.clipboard-editor{position:relative;display:grid;gap:8px}.clipboard-editor textarea{width:100%;min-height:180px;padding:18px;border:2px solid var(--ink);background:var(--paper);font:inherit;resize:vertical}.clipboard-editor span{position:absolute;right:12px;bottom:10px;padding:4px 7px;background:var(--paper);font-size:11px}.clipboard-actions{display:flex;grid-column:1;flex-wrap:wrap;gap:8px}.clipboard-desk>aside{grid-column:2;grid-row:2/4;padding:18px;color:var(--paper);background:var(--ink)}#clipboardLedger{display:grid;gap:8px;padding-left:18px}@media(max-width:680px){.clipboard-desk{grid-template-columns:1fr}.clipboard-desk>*{grid-column:auto!important;grid-row:auto!important}}.workflow-dispatch{display:grid;grid-template-columns:minmax(210px,.48fr) minmax(0,1.52fr);gap:18px}.dispatch-console{display:grid;align-content:start;gap:16px;padding:22px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--secondary) 12%,var(--paper))}.dispatch-console h2{margin:.2em 0}.dispatch-console form,.dispatch-console label{display:grid;gap:7px}.dispatch-console input,.dispatch-console select{min-width:0;width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.dispatch-console fieldset{display:flex;gap:12px;border:1px solid var(--line);border-radius:10px}.dispatch-console fieldset label{display:flex;align-items:center}.dispatch-workbench{--dispatch-load:.22;min-width:0;padding:14px;border-left:8px solid color-mix(in srgb,var(--accent) calc(var(--dispatch-load)*100%),var(--line));background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 8%,transparent),transparent 28%)}.dispatch-workbench[data-dispatch-priority="urgent"]{box-shadow:inset 0 0 0 2px var(--accent)}@media(max-width:900px){.workflow-dispatch{grid-template-columns:1fr}.dispatch-console{order:2}}.evidence-shell{--evidence-zoom:100;display:grid;gap:18px;padding:clamp(16px,4vw,26px);border:1px solid var(--line);border-radius:30px;background:linear-gradient(180deg,color-mix(in srgb,var(--secondary) 8%,transparent),color-mix(in srgb,var(--paper) 94%,transparent));box-shadow:var(--shadow)}.evidence-head{display:flex;justify-content:space-between;gap:18px;align-items:end}.evidence-head h2{margin:.2em 0}.evidence-tools{display:grid;gap:10px;justify-items:end}.evidence-tools output{padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:var(--paper);font-weight:900}.evidence-body{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(230px,.55fr);gap:16px}.evidence-stage{display:grid;gap:12px;min-width:0}.evidence-ribbon{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.evidence-ribbon button{display:grid;gap:6px;min-height:110px;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--paper);text-align:left}.evidence-ribbon button[aria-pressed="true"]{border-color:var(--accent);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent)}.evidence-ribbon span{font:800 11px/1 ui-monospace,monospace;letter-spacing:.14em}.evidence-ribbon small{opacity:.72;line-height:1.5}.evidence-core-shell{min-width:0;padding:clamp(12px,3vw,20px);overflow:auto;border:1px solid var(--line);border-radius:24px;background:color-mix(in srgb,var(--paper) 92%,transparent)}.evidence-core-shell>*{display:block;width:calc(10000%/var(--evidence-zoom));max-width:none;transform:scale(calc(var(--evidence-zoom)/100));transform-origin:top left}.evidence-rail{display:grid;align-content:start;gap:14px;padding:18px;border-radius:22px;color:var(--paper);background:var(--ink)}.evidence-rail label{display:grid;gap:8px}.evidence-rail input,.evidence-rail select{width:100%;padding:10px;border:1px solid #ffffff2e;border-radius:10px;color:inherit;background:#ffffff12}.evidence-checklist,.evidence-log{display:grid;gap:8px;padding-left:18px;margin:0}.evidence-checklist li.is-active{color:var(--secondary);font-weight:900}.evidence-checklist li.is-done{color:var(--accent);font-weight:900}.evidence-log li{line-height:1.55}.evidence-shell[data-board-mode="proof"] .evidence-core-shell{outline:4px solid color-mix(in srgb,var(--accent) 32%,transparent);outline-offset:2px}.evidence-shell[data-board-mode="handoff"] .evidence-rail{background:color-mix(in srgb,var(--ink) 82%,#0a1512)}@media(max-width:920px){.evidence-body{grid-template-columns:1fr}.evidence-ribbon{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.evidence-head{align-items:stretch;flex-direction:column}.evidence-tools{justify-items:start}.evidence-ribbon{grid-template-columns:1fr}.evidence-core-shell>*{width:100%;transform:none}}
  </style>
</head>
<body data-aesthetic="art-deco" data-composition="control-deck">
  <main class="page">
    <header class="mast"><div><span class="eyebrow">art-deco / Demonstração de operações da área de transferência / BEGINNER</span><h1>Demonstração de operação de área de transferência do kit de ferramentas de áudio</h1><p class="intro">Demonstração de operação da área de transferência no cenário do kit de ferramentas de áudio: inclui conteúdo real, controles acionáveis, feedback de status claro e layout responsivo a diferentes tamanhos.</p></div><span class="scenario">Kit de ferramentas de áudio</span></header>
    <div class="composition-deck"><div class="deck-bar"><span>CONTROL DECK · 04</span><span>Demonstração de operações da área de transferência</span><span class="deck-lights" aria-hidden="true"><i></i><i></i><i></i></span></div><section class="demo" aria-label="Área interativa de demonstração de operações na área de transferência do kit de ferramentas de áudio"><section id="evidenceShell" class="evidence-shell" data-board-mode="scan"><header class="evidence-head"><div><span class="eyebrow">Pacote de ferramentas de áudio / EVIDENCE BOARD</span><h2>Painel de observação da demonstração de operações da área de transferência</h2><p>Coloque o caso principal no quadro de evidências, usando cartões de observação separados, registros e alternância de padrões para registrar o resultado atual.</p></div><div class="evidence-tools"><div class="row"><button class="action primary" type="button" data-board-mode="scan">Escanear</button><button class="action" type="button" data-board-mode="proof">Verificação</button><button class="action" type="button" data-board-mode="handoff">Transferência</button></div><output id="evidenceStatus">Aguardando amostragem</output></div></header><div class="evidence-body"><section class="evidence-stage"><div class="evidence-ribbon"><button type="button" data-evidence-card="0" aria-pressed="true"><span>01</span><strong>Inspiração para o kit de ferramentas de áudio</strong><small>Verifique se a mudança de estado está visível</small></button><button type="button" data-evidence-card="1" aria-pressed="false"><span>02</span><strong>Registro do kit de ferramentas de áudio</strong><small>Confirmar que as entradas por teclado e por clique são consistentes</small></button><button type="button" data-evidence-card="2" aria-pressed="false"><span>03</span><strong>Colaboração do pacote de ferramentas de áudio</strong><small>Observe se o layout recua em telas estreitas</small></button><button type="button" data-evidence-card="3" aria-pressed="false"><span>04</span><strong>Progresso do kit de ferramentas de áudio</strong><small>Registre a conclusão da revisão atual</small></button></div><div id="evidenceCoreShell" class="evidence-core-shell"><div class="workflow-dispatch"><aside class="dispatch-console"><span class="eyebrow">Kit de ferramentas de áudio DISPATCH</span><h2>balcão de coordenação do kit de ferramentas de áudio</h2><form id="workflowDispatchForm"><label>Tipo de tarefa<select id="workflowDispatchKind"><option>Verificação de permissões do pacote de ferramentas de áudio</option><option>Registro de recursos do pacote de ferramentas de áudio</option><option>salvamento local do kit de ferramentas de áudio</option></select></label><label>Itens de verificação<input id="workflowDispatchAmount" type="number" min="1" max="9999" value="27"><span>item</span></label><fieldset><legend>Prioridade de processamento</legend><label><input type="radio" name="workflowPriority" value="normal" checked>Padrão</label><label><input type="radio" name="workflowPriority" value="urgent">Urgente</label></fieldset><button class="action primary" type="submit">Capacidade de registro</button></form><label>Tarefa atual<select id="workflowDispatchActive" aria-label="Alternar tarefa atual"><option value="1">Verificação de permissões do pacote de ferramentas de áudio</option><option value="2">Registro de recursos do pacote de ferramentas de áudio</option></select></label><output id="workflowDispatchSummary">Aguardando despacho</output></aside><section id="workflowCore" class="workflow-core dispatch-workbench" data-dispatch-priority="normal"><!-- 11DZ_CORE_START:browser-media-device-clipboard-demo --><div class="clipboard-desk"><header><span class="eyebrow">CLIPBOARD DESK</span><h2>Bancada de cópia do kit de ferramentas de áudio</h2><output id="clipboardPermission">Solicitar acesso à área de transferência apenas após o clique</output></header><label class="clipboard-editor">Conteúdo a copiar<textarea id="clipboardText" rows="6">Kit de ferramentas de áudio: confirme o registro da operação, o responsável e o próximo passo.</textarea><span id="clipboardCount">0 caracteres</span></label><div class="clipboard-actions"><button id="clipboardCopy" class="action primary" type="button">Copiar texto</button><button id="clipboardSelect" class="action" type="button" data-core-bridge="browser-media-device-clipboard-demo">seleção manual</button><button id="clipboardClear" class="action" type="button">Limpar a área de edição</button></div><aside><h3>Registro de cópia desta página</h3><ul id="clipboardLedger"><li>A cópia ainda não foi executada</li></ul></aside></div><!-- 11DZ_CORE_END --></section></div></div></section><aside class="evidence-rail"><label>Escala do canvas<input id="evidenceZoom" type="range" min="88" max="128" value="100"><output id="evidenceZoomValue">100%</output></label><label>Coleta atual<select id="evidenceStep"><option value="0">Inspiração para o kit de ferramentas de áudio</option><option value="1">Registro do kit de ferramentas de áudio</option><option value="2">Colaboração do pacote de ferramentas de áudio</option><option value="3">Progresso do kit de ferramentas de áudio</option></select></label><ul id="evidenceChecklist" class="evidence-checklist"><li>Inspiração para o kit de ferramentas de áudio</li><li>Registro do kit de ferramentas de áudio</li><li>Colaboração do pacote de ferramentas de áudio</li><li>Progresso do kit de ferramentas de áudio</li></ul><button id="evidenceCapture" class="action primary" type="button">Escrever evidências</button><ol id="evidenceLog" class="evidence-log"><li>Evidência ainda não registrada</li></ol></aside></div></section><p id="status" class="status" role="status" aria-live="polite"></p></section></div>
  </main>
  <script>
    'use strict';
    const statusOutput = document.querySelector('#status');
    const announce = message => { statusOutput.textContent = message; };
    /* 11DZ_CORE_SCRIPT_START:browser-media-device-clipboard-demo */
const clipboardText=document.querySelector('#clipboardText');const clipboardLedger=[];function updateClipboardCount(){document.querySelector('#clipboardCount').textContent=clipboardText.value.length+' caractere';}function recordClipboard(kind){clipboardLedger.unshift({kind,length:clipboardText.value.length,at:new Date()});clipboardLedger.splice(4);document.querySelector('#clipboardLedger').replaceChildren(...clipboardLedger.map(entry=>{const item=document.createElement('li');item.textContent=entry.kind+' · '+entry.length+' caractere · '+entry.at.toLocaleTimeString();return item;}));}document.querySelector('#clipboardCopy').addEventListener('click',async()=>{if(!clipboardText.value){announce('Insira primeiro o conteúdo a ser copiado');return;}try{if(!navigator.clipboard?.writeText)throw new Error('unsupported');await navigator.clipboard.writeText(clipboardText.value);document.querySelector('#clipboardPermission').textContent='Gravação bem-sucedida';recordClipboard('Área de transferência do sistema');announce('Texto gravado na área de transferência');}catch{clipboardText.focus();clipboardText.select();document.querySelector('#clipboardPermission').textContent='O navegador recusou a gravação; o conteúdo foi selecionado';recordClipboard('Reversão manual');announce('Não foi possível copiar automaticamente; o texto foi selecionado para cópia manual');}});document.querySelector('#clipboardSelect').addEventListener('click',()=>{clipboardText.focus();clipboardText.select();recordClipboard('Conteúdo selecionado');announce('Conteúdo da área de edição selecionado');});document.querySelector('#clipboardClear').addEventListener('click',()=>{clipboardText.value='';updateClipboardCount();clipboardText.focus();announce('Área de cópia limpa');});clipboardText.addEventListener('input',updateClipboardCount);updateClipboardCount();
/* 11DZ_CORE_SCRIPT_END */
const workflowBridgeSpec={"name":"browser-media-device-clipboard-demo","selector":"[data-core-bridge=\"browser-media-device-clipboard-demo\"]","mode":"click","key":"Enter"};const workflowBridgeCore=document.querySelector('#workflowCore');const workflowBridgeControl=workflowBridgeCore.querySelector(workflowBridgeSpec.selector);if(!workflowBridgeControl)throw new Error('Missing core bridge: '+workflowBridgeSpec.name);const workflowBridgeControlledId=workflowBridgeControl.getAttribute('aria-controls');const workflowBridgeControlled=workflowBridgeControlledId?document.getElementById(workflowBridgeControlledId):null;workflowBridgeCore.dataset.workflowBridge=workflowBridgeSpec.name;workflowBridgeCore.dataset.workflowVersion='0';function workflowBridgeSerialize(){const visualNode=workflowBridgeCore.firstElementChild||workflowBridgeCore;const visual=getComputedStyle(visualNode);const outputs=[...workflowBridgeCore.querySelectorAll('output,[role="status"],[aria-live],meter,progress')].map(node=>node.textContent.trim()+'|'+node.getAttribute('aria-valuenow')+'|'+node.getAttribute('value'));const canvas=[...workflowBridgeCore.querySelectorAll('canvas')].map(node=>{try{return node.toDataURL().slice(-160);}catch{return 'canvas-unavailable';}});return JSON.stringify({html:workflowBridgeCore.innerHTML,status:statusOutput.textContent,outputs,canvas,visual:[visual.display,visual.visibility,visual.opacity,visual.transform,visual.filter,visual.backgroundColor,visual.width,visual.height],scroll:workflowBridgeSpec.mode==='scroll'?workflowBridgeControl.scrollTop:null});}let workflowBridgeLastEffect=workflowBridgeSerialize();function workflowBridgeSummary(){const label=(workflowBridgeControl.getAttribute('aria-label')||workflowBridgeControl.textContent||workflowBridgeControl.value||workflowBridgeSpec.name).trim().replace(/\s+/g,' ').slice(0,72);return label+' · versão principal '+workflowBridgeCore.dataset.workflowVersion;}function workflowBridgeCommit(){const effect=workflowBridgeSerialize();if(effect===workflowBridgeLastEffect)return {changed:false,summary:workflowBridgeSummary()};workflowBridgeLastEffect=effect;workflowBridgeCore.dataset.workflowVersion=String(Number(workflowBridgeCore.dataset.workflowVersion||0)+1);return {changed:true,summary:workflowBridgeSummary()};}function workflowBridgeScheduleCommit(){queueMicrotask(workflowBridgeCommit);setTimeout(workflowBridgeCommit,0);}workflowBridgeControl.addEventListener("click",workflowBridgeScheduleCommit);const workflowBridgeStateTargets=new Set(workflowBridgeCore.querySelectorAll('dialog'));if(workflowBridgeControlled&&workflowBridgeCore.contains(workflowBridgeControlled))workflowBridgeStateTargets.add(workflowBridgeControlled);workflowBridgeStateTargets.forEach(target=>['close','cancel','toggle'].forEach(eventName=>target.addEventListener(eventName,workflowBridgeScheduleCommit)));function workflowBridgeActivate(){workflowBridgeControl.focus();workflowBridgeControl.click();const result=workflowBridgeCommit();setTimeout(workflowBridgeCommit,0);return result;}function workflowBridgeReset(){workflowBridgeCore.dataset.workflowVersion='0';workflowBridgeLastEffect=workflowBridgeSerialize();}
const workflowDispatchCore=document.querySelector('#workflowCore');const workflowDispatchForm=document.querySelector('#workflowDispatchForm');const workflowDispatchSelect=document.querySelector('#workflowDispatchActive');const workflowDispatchJobs=new Map([["1",{"label":"Verificação de permissões do pacote de ferramentas de áudio","amount":12,"priority":"normal","touches":0}],["2",{"label":"Registro de recursos do pacote de ferramentas de áudio","amount":21,"priority":"urgent","touches":0}]]);let workflowDispatchSerial=workflowDispatchJobs.size;function workflowDispatchDrive(job,activate=false){workflowDispatchCore.dataset.dispatchPriority=job.priority;workflowDispatchCore.style.setProperty('--dispatch-load',Math.min(.95,.16+job.amount/120));const bridge=activate?workflowBridgeActivate():{changed:false,summary:workflowBridgeSummary()};document.querySelector('#workflowDispatchSummary').textContent=job.label+' · '+job.amount+' item · '+bridge.summary;announce('Tarefa atual do kit de ferramentas de áudio:'+job.label);}function workflowDispatchRender(activeId,activate=false){workflowDispatchSelect.replaceChildren(...[...workflowDispatchJobs].map(([id,job])=>{const option=document.createElement('option');option.value=id;option.textContent=job.label+(job.priority==='urgent'?' · Urgente':'');return option;}));workflowDispatchSelect.value=activeId;workflowDispatchDrive(workflowDispatchJobs.get(activeId),activate);}workflowDispatchForm.addEventListener('submit',event=>{event.preventDefault();const data=new FormData(workflowDispatchForm);const id=String(++workflowDispatchSerial);workflowDispatchJobs.set(id,{label:document.querySelector('#workflowDispatchKind').value,amount:Math.max(1,Number(document.querySelector('#workflowDispatchAmount').value)||1),priority:data.get('workflowPriority'),touches:0});workflowDispatchRender(id,true);});workflowDispatchSelect.addEventListener('change',()=>workflowDispatchDrive(workflowDispatchJobs.get(workflowDispatchSelect.value),true));workflowDispatchCore.addEventListener('focusin',()=>{const job=workflowDispatchJobs.get(workflowDispatchSelect.value);if(!job)return;job.touches+=1;document.querySelector('#workflowDispatchSummary').textContent=job.label+' · '+job.amount+' item · '+workflowBridgeSummary();});workflowDispatchRender('1',false);
workflowBridgeReset();
const evidenceShell=document.querySelector('#evidenceShell');const evidenceStatus=document.querySelector('#evidenceStatus');const evidenceZoom=document.querySelector('#evidenceZoom');const evidenceZoomValue=document.querySelector('#evidenceZoomValue');const evidenceStep=document.querySelector('#evidenceStep');const evidenceChecklistItems=[...document.querySelectorAll('#evidenceChecklist li')];const evidenceCards=[...document.querySelectorAll('[data-evidence-card]')];const evidenceLog=document.querySelector('#evidenceLog');const evidenceModeButtons=[...evidenceShell.querySelectorAll('button[data-board-mode]')];const evidenceNotes=["Inspiração para o kit de ferramentas de áudio","Registro do kit de ferramentas de áudio","Colaboração do pacote de ferramentas de áudio","Progresso do kit de ferramentas de áudio"];const evidenceCore=document.querySelector('#workflowCore');let evidenceCaptures=0;function evidenceSetCard(index){evidenceCards.forEach((card,cardIndex)=>{const active=cardIndex===index;card.setAttribute('aria-pressed',String(active));});evidenceChecklistItems.forEach((item,itemIndex)=>{item.classList.toggle('is-active',itemIndex===index);item.classList.toggle('is-done',itemIndex<evidenceCaptures);});}function evidenceRender(reason){const version=evidenceCore?.dataset.workflowVersion||'0';const zoom=Number(evidenceZoom.value);const active=Math.min(evidenceNotes.length-1,Number(evidenceStep.value)||0);evidenceShell.style.setProperty('--evidence-zoom',String(zoom));evidenceZoomValue.textContent=zoom+'%';evidenceSetCard(active);evidenceStatus.textContent=reason+' · versão principal '+version;}evidenceModeButtons.forEach(button=>button.addEventListener('click',()=>{evidenceModeButtons.forEach(item=>item.classList.toggle('primary',item===button));evidenceShell.dataset.boardMode=button.dataset.boardMode;evidenceRender('Alterado para'+button.textContent);announce('padrão de evidência:'+button.textContent);}));evidenceCards.forEach((card,index)=>card.addEventListener('click',()=>{evidenceStep.value=String(index);evidenceRender('Cartão de observação alternado');announce('Cartão de observação:'+evidenceNotes[index]);}));evidenceZoom.addEventListener('input',()=>{evidenceRender('A escala da tela foi atualizada');announce('observação de escala '+evidenceZoom.value+'%');});evidenceStep.addEventListener('change',()=>{const index=Number(evidenceStep.value)||0;evidenceRender('Amostragem alternada');announce('Seleção atual:'+evidenceNotes[index]);});document.querySelector('#evidenceCapture').addEventListener('click',()=>{const index=Math.min(evidenceNotes.length-1,Number(evidenceStep.value)||0);const note=evidenceNotes[index];const version=evidenceCore?.dataset.workflowVersion||'0';evidenceCaptures+=1;const item=document.createElement('li');item.textContent='Evidência '+evidenceCaptures+' · '+note+' · versão principal '+version;const empty=evidenceLog.querySelector('li')?.textContent==='Evidência ainda não registrada';if(empty)evidenceLog.replaceChildren(item);else evidenceLog.prepend(item);while(evidenceLog.children.length>6)evidenceLog.lastElementChild.remove();evidenceRender('O registro foi escrito '+evidenceCaptures);announce('O registro foi escrito '+evidenceCaptures+' · '+note);});evidenceCore?.addEventListener('focusin',()=>evidenceRender('Caso principal em foco'));evidenceCore?.addEventListener('click',()=>evidenceRender('O caso principal sofre uma interação'));evidenceRender('Aguardando amostragem');
  </script>
</body>
</html>
Feedback da páginaEncontrou um problema ou tem uma sugestão de melhoria?
Recursos de feedback precisam ser usados na versão online

Envie somente após ativar JavaScript na versão online; a funcionalidade local da ferramenta ou do exemplo não é afetada.

Ir para o feedback na versão online