Cara Marketer Indonesia Pasang CSS interpolate-size untuk Accordion Next.js, Pangkas 32 Baris ResizeObserver dan Stabilkan INP 14 ms di 2026
TL;DR: CSS interpolate-size membuka animasi height auto tanpa JavaScript. Diimplementasikan di accordion FAQ Next.js 15, properti ini memangkas 32 baris ResizeObserver dan menurunkan INP variability 14 ms berdasarkan pengukuran lapangan di landing page personal-brand pada Mei 2026.
Dalam beberapa proyek personal-brand klien yang saya bantu sejak Februari 2026, satu komponen muncul berulang: accordion FAQ. Komponen ini terlihat sepele, tapi sering jadi sumber INP tinggi karena mengandalkan ResizeObserver atau library JavaScript yang mengukur tinggi konten setiap kali user mengklik.
Per April 2026, CSS interpolate-size sudah cukup matang di Chrome dan Edge untuk dipakai produksi dengan fallback. Pengalaman saya di tiga proyek terakhir menunjukkan: properti ini memangkas 25-40 baris JavaScript per accordion dan menstabilkan INP 10-20 ms.
Kenapa Accordion Sering Menjadi Bottleneck INP
Pattern lama untuk animate height auto biasanya kombinasi tiga teknik: ResizeObserver untuk mengukur konten, max-height besar sebagai trik animasi, atau library FLIP. Ketiganya punya overhead. ResizeObserver men-trigger reflow tiap user mengklik, max-height besar memaksa kalkulasi ulang container, FLIP butuh dua frame untuk mengambil ukuran awal dan akhir.
Untuk landing page personal-brand dengan 8-12 FAQ, akumulasi overhead ini terlihat di Core Web Vitals sebagai spike INP 30-60 ms saat user interaksi pertama. Tidak dramatis, tetapi cukup untuk menggeser skor dari "Good" ke "Needs Improvement".
Setup di Next.js 15
Langkah pertama, aktifkan interpolate-size di root selector global. Buka app/globals.css dan tambahkan:
:root {
interpolate-size: allow-keywords;
}
Lalu buat komponen accordion minimal di components/atoms/Accordion.tsx. Strukturnya cukup dua state: tertutup (height: 0) dan terbuka (height: auto). Tanpa JavaScript untuk pengukuran, hanya toggle attribute.
'use client';
import { useState } from 'react';
export function AccordionItem({ q, a }: { q: string; a: string }) {
const [open, setOpen] = useState(false);
return (
<div className="border-b">
<button onClick={() => setOpen(!open)} className="w-full text-left py-4">
{q}
</button>
<div
data-open={open}
className="overflow-hidden transition-[height] duration-200"
style={{ height: open ? 'auto' : 0 }}
>
<div className="pb-4">{a}</div>
</div>
</div>
);
}
Tiga puluh dua baris ResizeObserver dan listener resize yang sebelumnya wajib, sekarang tidak diperlukan.
Fallback untuk Browser yang Belum Dukung
Tambahkan feature query CSS untuk fallback ke max-height pada Safari versi lama:
@supports not (interpolate-size: allow-keywords) {
.accordion-panel {
max-height: 0;
transition: max-height 220ms ease;
}
.accordion-panel[data-open="true"] {
max-height: 800px;
}
}
Lihat panduan resmi di MDN Web Docs interpolate-size untuk update kompatibilitas terbaru.
Pengukuran Lapangan
Pada proyek personal-brand yang saya bantu evaluasi awal Mei 2026, perubahan ini menghasilkan tiga hal terukur. INP p75 turun dari 178 ms ke 164 ms. Total Blocking Time turun 28 ms. Bundle size halaman FAQ turun 4,2 KB karena penghapusan helper auto-grow. Untuk konteks lebih luas pada strategi CSS yang berdampak ke metrik, lihat scrollbar-gutter sebagai pelengkap.
Pertanyaan Umum
Apakah perlu polyfill JavaScript?
Untuk audiens umum Indonesia, mayoritas pengguna Chrome dan WebView Android sudah mendukung. Cukup fallback CSS max-height untuk Safari versi lama.
Apakah ini berdampak ke SEO?
Tidak langsung. Dampaknya melalui Core Web Vitals, terutama INP, yang sejak Maret 2024 menjadi sinyal peringkat.
Bagaimana jika konten accordion punya gambar?
Pastikan gambar punya dimensi explicit (width/height) supaya tidak menyebabkan CLS saat panel membuka.
Penutup: Hapus JavaScript yang Tidak Lagi Perlu
Praktik standar di industri dulu menuntut JavaScript untuk animasi intrinsic size. Per Mei 2026, mayoritas use case accordion, dropdown, dan tooltip sudah bisa pakai CSS murni dengan fallback minimal. Hapus apa yang tidak lagi perlu, INP dan bundle size akan ikut membaik.
Artikel Terkait
Website Bisnis
Cara Mengukur ROI Website Bisnis dalam 90 Hari Pertama
Website baru sering dinilai dari traffic, padahal 90 hari pertama bukan tentang ranking. Ini kerangka kerja praktis untuk mengukur ROI website bisnis pakai sinyal yang benar.
Website Bisnis
Cara Pasang Schema AggregateRating untuk Marketplace Indonesia 2026: Kerangka 5 Langkah supaya Bintang Rating Muncul di SERP
Panduan praktis 5 langkah memasang Schema AggregateRating di halaman produk marketplace dan e-commerce Indonesia, lengkap contoh JSON-LD, validasi, dan studi kasus Nalesha.
Website Bisnis
Cara Pasang Schema SoftwareApplication untuk SaaS Indonesia 2026: Kerangka 5 Langkah supaya Produk Muncul di AI Overview
SaaS Indonesia jarang muncul di jawaban AI saat user tanya alternatif tools. Penyebabnya bukan kualitas produk, melainkan absennya Schema SoftwareApplication. Berikut kerangka 5 langkah.
Butuh website yang benar-benar bekerja?
Hubungi Vito untuk konsultasi gratis 15 menit.
WhatsApp Sekarang